git - 推送到 git-hub 存储库时自动忽略选定的代码更改

标签 git github

在我从事的编码项目类型中,通常有一个人们使用的通用代码库,然后在此基础上构建自己的个性化代码。一种方法是将公共(public)基础代码保存在它自己的 git-hub 存储库中,然后人们可以对其进行 fork 和修改。

但是,在将更改推送到公共(public)基础代码存储库时,您不想包含您的个性化代码,因此您必须注意在 merge 时不要包含它。有没有一种简单的方法可以做到这一点,而不必每次都告诉 git 忽略个性化代码?

如果可能的话,我宁愿避免为了更改基本代码的特定目的而对基本代码进行单独的 fork 。

最佳答案

如果个性化仅限于某些文件,并通过查看其内容的方式进行检测,那么您可以:

  • 仅限版本的模板文件,这些文件将始终被推送到您的“通用内容”存储库
  • 保留 私有(private) 值文件(其中包含正确值的文件,它们总是被您的 git 存储库忽略并且从不推送)
  • 版本脚本文件能够采用模板文件、值文件,并自动生成正确的值最终结果文件。生成的文件也不会被推送,并且也会被您的 git 存储库忽略。

我们的想法是在 checkout 时自动生成该生成。
您可以通过声明一个内容过滤器驱动程序来做到这一点。

content filter dirver

checkout 时,在smudge 脚本中, detect the content (那些“过滤器驱动程序”脚本没有它们正在过滤的文件的名称)您的模板文件,并通过在特定路径中查找值文件来生成正确的内容。

关于git - 推送到 git-hub 存储库时自动忽略选定的代码更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11914741/

相关文章:

git 按子文件夹拆分存储库并保留所有旧分支

git - 在多用户环境中使用 git 决定应该实现什么、不应该实现什么

github - 如何将 Jekyll 站点从 github 存储库部署到我的 ftp?

git - 克隆一个 github 存储库,进行更改,然后将除其中一项更改外的所有更改推回

Symfony2 - github - 发布 packagist

git - 使用 git show 时 ":"究竟意味着什么?

git - 添加新的外部 Git 存储库连接 - Visual Studio Team Services

除非我在项目目录中,否则 Git 不会显示日志

docker - GitHub Packages Docker - 拉取镜像配置时出错 : unknown blob

github - 我可以将 Codeplex 存储库 fork 到 GitHub 吗?