使用Git合并选择性代码行?

时间:2010-10-06 23:28:15

标签: git merge lines-of-code

我想强制git使用(某种)3路冲突解决方案始终合并。而且,我想这样做是为了能够选择单行。

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

2 个答案:

答案 0 :(得分:2)

Git默认尝试进行三向合并(2个头的recursive策略,3个头的octopus策略)。

如果您想在手动合并时查看 3路分辨率选项,请尝试将merge.conflictstyle配置选项设置为diff3

(有关该选项的详细信息,请参阅git-merge man page的“配置”部分。)

答案 1 :(得分:0)

博文“Five advanced Git merge techniques”确实提供了有关diff3设置的更多详细信息:

  

使用 git config --global merge.conflictstyle diff3 解决diff3冲突   diff3冲突样式在新的|||||||标记和=======标记之间添加了一个额外的部分,表示:

     
      
  • 该部分的原始内容,
  •   
  • 上面的更改和
  •   
  • 他们(正在合并的分支)在下面改变。
  •   

即使没有差异工具,命令git show也可以提供帮助:

  

当您在合并中时,您可以使用特殊的:N:语法,其中N是一个数字,以自动选择其中一个合并父项。

  • 1选择公共基本提交(较低版本),
  • 2选择您的版本(“mine”)和
  • 3选择他们的版本(更高版本)。
  

因此git show :3:foobar.txt显示foobar.txt的上游版本。