3

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

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

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

4

1 回答 1

2

如果个性化仅限于某些文件,通过一种方法来检测只是查看其内容,那么您可以:

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

这个想法是在结账时自动生成这一代。
您可以通过声明内容过滤器驱动程序来做到这一点。

内容过滤器驱动程序

结帐时,在smudge脚本中检测模板文件的内容(那些“过滤驱动程序”脚本没有它们正在过滤的文件的名称),并通过在特定文件中查找值文件来生成正确的内容小路。

于 2012-08-11T14:39:45.830 回答