在Git中查看和编辑合并的最佳工具是什么?我想要一个3路合并视图,“我的”,“他们的”和“祖先”在单独的面板,和第四个“输出”面板。

此外,调用该工具的指令也很好。(我仍然没有弄清楚如何以这样一种方式启动kdiff3,它不会给我一个错误。)

我的操作系统是Ubuntu。


当前回答

你可以配置你自己的合并工具来使用“git mergetool”。

例子:

  git config --global merge.tool p4merge
  git config --global mergetool.p4merge.cmd p4merge '$BASE $LOCAL $REMOTE $MERGED'
  git config --global mergetool.p4merge.trustExitCode false

当你这样做的时候,你也可以把它设置为“git difftool”的difftool:

  git config --global diff.tool p4merge
  git config --global difftool.p4merge.cmd p4merge '$LOCAL $REMOTE'

注意,在Unix/Linux中,你不希望$BASE被你的shell解析为一个变量——它实际上应该出现在~/中。Gitconfig文件来工作。

其他回答

我听说kdiff3很不错。

吉特克斯 http://gitx.frim.nl/

当使用大型提交集时,会出现一些错误,但对于浏览更改和选择不同的更改进行阶段并提交非常有用。

维姆迪夫

一旦你学会了vim(我认为你应该学会),vimdiff只是另一个需要学习的漂亮的小正交概念。要在vim中获得在线帮助:

:help vimdiff 

这个问题涵盖了如何使用它:我如何使用vimdiff来解决冲突?

如果您还停留在鼠标使用的黑暗时代,并且您要合并的文件不是很大,那么我建议您使用meld。

你可以配置你自己的合并工具来使用“git mergetool”。

例子:

  git config --global merge.tool p4merge
  git config --global mergetool.p4merge.cmd p4merge '$BASE $LOCAL $REMOTE $MERGED'
  git config --global mergetool.p4merge.trustExitCode false

当你这样做的时候,你也可以把它设置为“git difftool”的difftool:

  git config --global diff.tool p4merge
  git config --global difftool.p4merge.cmd p4merge '$LOCAL $REMOTE'

注意,在Unix/Linux中,你不希望$BASE被你的shell解析为一个变量——它实际上应该出现在~/中。Gitconfig文件来工作。

所以对于git合并,你可以尝试:

DiffMerge可以直观地比较和合并Windows、OS X和Linux上的文件。 Meld,是一个视觉差异和合并工具。 KDiff3,一个diff和合并程序),比较或合并2或3个文本输入文件/dirs。 opendiff (macOS上的Xcode工具的一部分),一个命令行实用程序,从终端启动FileMerge应用程序,以图形化的方式比较文件或目录,包括合并。