在没有人工输入的情况下解决git合并冲突

问题描述 投票:1回答:2

是否有可能只在某些行上执行2个文件的git合并而不必诉诸人工输入?

例如,参见下面的git merge是否有一些选项标志,可以完成此操作而无需用户提供额外的输入?

TEST1

line1

TEST2

line2
line3

合并后的test2

line1
line3
git git-merge
2个回答
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


0
投票

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

但是对于许多冲突来说,即使采用这种方法也无法解决它们。例如,user1添加了like,user2将另一行添加到同一个地方。应该先走哪一个?这是人类无法决定的事情。

© www.soinside.com 2019 - 2024. All rights reserved.