我们有两个存储库:Upstream和Downsteram,只有一个config.lua
文件,它们之间可能有所不同。我们希望使用从下游到上游的拉取请求(反之亦然),同时忽略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://stackoverflow.com/a/8014154/7656871中给出的答案。 我尝试过以下方法:
config.lua merge=ours
[merge "ours"]
driver = true
我还认为必须创建合并冲突是一个糟糕的黑客攻击,因此这个合并策略会触发(参见Is it possible to exclude specific commits when doing a git merge?)。如果有多个下游分支,它将使过程变得复杂。
在执行拉取请求时,没有简单的方法可以忽略一个下游配置文件吗?
答案 0 :(得分:0)
首先,GitHub只是Git repos的一个很好的前端。所以这是一个Git问题,因为GitHub PR实际上是关于合并两个分支 - 没有办法在那里排除文件。
此问题的解决方案通常是根本不提交配置文件,而是在gitignore上添加foo.cfg.example
时提交foo.cfg
。
如果您无法避免提交配置文件,为什么不给它们唯一的名称 - 例如foo-team1.cfg
,foo-team2.cfg
等?这样他们就会被跟踪,但是你不会有其他人的配置更改覆盖你的冲突或问题。