我曾经使用过像BC3、SourceGear或P4这样的三向合并工具,它们通常显示4个组件:基本、left、right和merged 。
Git似乎做了什么,尤其是在git rebase --onto
似乎是4向合并的情况下:left-base,left,right-base,right,<代码>E117合并结果<代码>E218。或者换句话说,获取左侧(本地)完成的比较补丁,并尝试将其与右侧(远程)完成的比较补丁合并。
合并= Left-Diff-Path + Right-Diff-Path
如果现在有这样的支持,你知道有什么好的工具可以显示这4个组件吗?
发布于 2011-12-14 03:01:46
我不认为它存在。我一直听说BC3和P4Merge是最好的。
发布于 2012-10-06 04:07:33
diffuse似乎默认安装在我的Fedora17工作站上;在某种程度上,它也是默认的,因为我没有在我的.gitconfig上指定任何东西,仍然是:
git mergetool
只需打开它,立即显示要编辑的正确文件。
Meld似乎也能处理它,我不得不安装它,现在看起来更好了。
发布于 2021-12-07 18:33:03
不幸的是,我认为git并没有为mergetools提供你想要的信息。在定义调用mergetool的命令和参数时,它只有以下变量可用(从Git - git-mergetool Documentation)。所以它本质上没有“右基数”。
REMOTE
包含合并工具应将成功合并的结果写入其中的文件的名称
理论上,有人可以编写一个工具来查询git以找出合并状态,而不是被git调用为mergetool。在这种情况下,它可以获得您建议的信息。但我个人并不知道有什么工具可以做到这一点(在other answer中建议的meld
和diffuse
命令没有)。
我同意你所要求的将是有用的。实际上,我个人希望看到的是BASE、LOCAL、REMOTE和" remote -DIFF“--后者是用于远程提交的补丁,这通常是我某人想要应用的。
https://stackoverflow.com/questions/8490647
复制相似问题