在没有人工干预的情况下解决git merge冲突

时间:2019-04-05 16:38:06

标签: git git-merge

是否可以仅在某些行上执行具有冲突的2个文件的git合并而不必求助于人工输入?

例如,请参见下面,是否有一些git merge的选项标志可以完成此操作而不必要求用户进行其他输入?

test1

line1

test2

line2
line3

合并后的test2

line1
line3

2 个答案:

答案 0 :(得分:0)

发件人:Automatic merge conflict resolution


就像提到的评论一样,Git仅擅长决定如何将代码组合在一起。您可能对合并策略选项感兴趣。您可以运行

git merge --strategy-option theirsgit merge --strategy-option ours

在发生冲突时偏向源或目的地。在此处阅读有关此内容的更多信息:

Resolve Git merge conflicts in favor of their changes during a pull

https://git-scm.com/docs/merge-strategies

答案 1 :(得分:0)

对于一种结构已知的语言,您可以尝试将其分解为比行小的项目,并消除一些冲突。有一些专有的solutions被做广告(我还没有尝试过)。

但是对于许多冲突,即使采用这种方法也无法解决。例如,user1添加一个赞,user2添加另一行到同一位置。应该先走哪一个?这是只有人类才能决定的事情。