在Git中查看和编辑合并的最佳工具是什么?我想要一个3路合并视图,“我的”,“他们的”和“祖先”在单独的面板,和第四个“输出”面板。
此外,调用该工具的指令也很好。(我仍然没有弄清楚如何以这样一种方式启动kdiff3,它不会给我一个错误。)
我的操作系统是Ubuntu。
在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文件来工作。
其他回答
你可以配置你自己的合并工具来使用“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 mergetool -t=<tool>或——tool=<tool>来改变git mergetool使用的工具。要改变默认值(从vimdiff)使用git配置合并。工具> <工具。
如果你使用visual studio, Team Explorer内置工具是一个很好的工具来解决git合并冲突。
IntelliJ IDEA有一个复杂的合并冲突解决工具与Resolve魔棒,这大大简化了合并:
维姆迪夫
一旦你学会了vim(我认为你应该学会),vimdiff只是另一个需要学习的漂亮的小正交概念。要在vim中获得在线帮助:
:help vimdiff
这个问题涵盖了如何使用它:我如何使用vimdiff来解决冲突?
如果您还停留在鼠标使用的黑暗时代,并且您要合并的文件不是很大,那么我建议您使用meld。