是否有可能只在某些行上执行2个文件的git合并而不必诉诸人工输入?
例如,参见下面的git merge是否有一些选项标志,可以完成此操作而无需用户提供额外的输入?
TEST1
line1
TEST2
line2
line3
合并后的test2
line1
line3
来自:Automatic merge conflict resolution
就像上面提到的评论一样,Git在决定如何将代码放在一起时非常擅长。您可能对合并策略选项感兴趣。你可以跑
git merge --strategy-option theirs
或git merge --strategy-option ours
在涉及冲突时支持来源或目的地。在这里阅读更多相关信息:
Resolve Git merge conflicts in favor of their changes during a pull
对于具有已知结构的语言,您可以尝试将其分解为比行更小的项目并消除一些冲突。有一些专有的solutions被广告做(我还没试过)。
但是对于许多冲突来说,即使采用这种方法也无法解决它们。例如,user1添加了like,user2将另一行添加到同一个地方。应该先走哪一个?这是人类无法决定的事情。