Github忽略下游配置文件在拉取请求中

4
我们有两个仓库:Upstream和Downsteram,它们之间有一个单独的config.lua文件,这个文件在两个仓库中可能不同。我们想要使用从Downstream到Upstream(反之亦然)的Pull Requests,同时忽略config.lua文件。
相关的SO答案并不适用:
我们不想浪费时间每次都排除config.lua文件,因此Github - Pull Request, ignore some file changes中的答案对我们没用。
这个答案(Using git, how do I ignore a file in one branch but have it committed in another branch?)显然已经不再适用了(而且这还是相同的master分支)。
我无法让Github按https://dev59.com/Zm865IYBdhLWcg3wU9CI#8014154的方式工作。我尝试了以下操作:
1.创建了config.lua文件,并将其更改为不同的内容以引起冲突(这似乎是一种hack,但显然需要!) 2.添加了.gitattributes文件,其中包含config.lua merge=ours的内容 3.添加了.gitconfig文件,其中包含: [merge "ours"] driver = true 4. Github PR仍然检测到更改并声称无法自动合并。
我也认为创建一个合并冲突是一个不好的hack,以便触发这种合并策略(请参见Is it possible to exclude specific commits when doing a git merge?)。如果有多个Downstream分支,这将使过程变得复杂。
难道没有简单的方法在进行pull requests时忽略一个Downstream配置文件吗?
1个回答

0
首先,GitHub只是Git存储库的漂亮前端。因此,这是一个Git问题,因为GitHub PR实际上是关于合并两个分支的 - 在那里没有办法排除文件。
通常解决这个问题的方法是根本不提交配置文件,而是提交一个foo.cfg.example,并将foo.cfg添加到gitignore中。
如果你无法避免提交配置文件,为什么不给它们独特的名称——例如foo-team1.cfgfoo-team2.cfg等?这样它们就会被跟踪,但你不会遇到其他人的配置更改覆盖你的冲突或问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接