目前我正在一个功能分支工作,很快将合并回主人。我最近尝试过这个并且有一些合并冲突,我必须手动修复。
那么,是否可以告诉git始终使用合并分支中的版本以避免合并冲突?在这种情况下,我手动修复了冲突,但总是选择合并分支中的版本,这样可以省去一些繁琐的工作。
答案 0 :(得分:17)
您可以使用以下命令在git中完成此操作,假设feature
是您的功能分支的名称:
git merge -s recursive -X theirs feature
这表示使用“递归”合并策略,但使用“他们的”选项。这意味着当存在冲突时,它将通过从功能分支获取块的版本而不是当前分支来自动解析。 (请注意,这与“他们的”合并策略完全不同,后者现已从git中删除。)
此功能是在git v1.7.0中引入的。
答案 1 :(得分:0)
你不能使用递归的“我们的”策略。它会省略你没有冲突的变化。
您可以编写获取冲突文件的文件名的脚本,并执行git checkout --ours - filename后跟git add filename。
如果您反复发生相同的冲突,请启用rerere,这可能已足够,因此您无需解决冲突。
希望这有帮助。