忽略来自主人的拉力,但仍保留自己分支的推拉力

时间:2017-01-30 02:14:27

标签: git github

我有一个主分支,其中包含一些配置文件模板,我想这样做,以便当我分支主分支时,它在子分支中创建这些模板,但是,主机上的任何进一步更改分支到这些配置模板不会被下拉到子分支中,因此不会覆盖子分支配置。

现在棘手的是,我仍然希望跟踪子分支配置文件,所以我仍然可以在子分支配置文件中进行更改并将其推回到子分支。

你认为我怎么能完成这个?

1 个答案:

答案 0 :(得分:1)

  

我分支master分支,它在子分支

中创建这些模板

这看起来很简单:当您分支master时,master中的任何文件都会出现在新分支中。
但是:

  

对这些配置模板master分支的任何进一步更改都不会被拉入子分支

任何进一步的更改仍将在任何新分支中。

所以:

  • 将" template"中的原始模板文件版本化分支(您同意这些文件不再发生变化:没有新的提交,如果您正在使用GitHubBitBucketGitLab,则可以保护分支)
  • 设置一个content filter driver,这将自动结账(任何分支机构)

    • 检查这些文件是否在签出分支中(如果不是,它们将从template分支复制)。它还将add a .gitattributes file with a merge=ours directive以确保在合并时不会覆盖这些文件。
    • 如果那些文件已经存在,那么
    • 不会做任何事情(意味着任何更改都是

但是,所有设置都非常复杂。

更简单的解决方案是拥有不同的模板文件,并且脚本能够根据当前检出的分支使用正确的文件。