我想强制 git始终使用(某种)3 路冲突解决方案进行合并。此外,我想做到能够选择单行。
目前我正在合并两个分支。但是,如果可能的话,我想知道即使在合并多个分支时如何执行此任务。
我想强制 git始终使用(某种)3 路冲突解决方案进行合并。此外,我想做到能够选择单行。
目前我正在合并两个分支。但是,如果可能的话,我想知道即使在合并多个分支时如何执行此任务。
Git 在默认情况下尝试进行 3 路合并(recursive
2 个正面的octopus
策略,以及 3+ 个正面的策略)。
如果您想在手动合并时看到merge.conflictstyle
3 向分辨率选项,请尝试将config 选项设置为diff3
.
git-merge
(有关该选项的详细信息,请参见手册页的配置部分。)
博客文章“五种高级 Git 合并技术”确实提供了有关 diff3 设置的更多详细信息:
使用 . 打开 diff3 冲突
git config --global merge.conflictstyle diff3
。diff3 冲突样式在新标记和标记
之间添加了一个额外的部分,这表明:|||||||
=======
- 该部分的原始内容,
- 上面的更改和
- 他们的(正在合并的分支)在下面发生了变化。
即使没有 diff 工具,该命令git show
也可以提供帮助:
当您在合并中时,您可以使用特殊
:N:
语法(其中N
是一个数字)来自动选择一个合并父项。
1
选择公共基本提交(较低版本),2
选择您的版本 (" mine
"),然后3
选择他们的版本(更高的版本)。所以
git show :3:foobar.txt
显示foobar.txt
.