5

我想强制 git始终使用(某种)3 路冲突解决方案进行合并。此外,我想做到能够选择单行。

目前我正在合并两个分支。但是,如果可能的话,我想知道即使在合并多个分支时如何执行此任务。

4

2 回答 2

2

Git 在默认情况下尝试进行 3 路合并(recursive2 个正面的octopus策略,以及 3+ 个正面的策略)。

如果您想在手动合并时看到merge.conflictstyle3 向分辨率选项,请尝试将config 选项设置为diff3.

git-merge(有关该选项的详细信息,请参见手册页的配置部分。)

于 2010-10-06T23:50:55.313 回答
0

博客文章“五种高级 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.

于 2012-10-05T15:11:59.450 回答