首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Git 4向合并

Git 4向合并
EN

Stack Overflow用户
提问于 2011-12-13 22:14:26
回答 3查看 3.8K关注 0票数 21

我曾经使用过像BC3、SourceGear或P4这样的三向合并工具,它们通常显示4个组件:基本leftrightmerged

Git似乎做了什么,尤其是在git rebase --onto似乎是4向合并的情况下:left-baseleftright-baseright,<代码>E117合并结果<代码>E218。或者换句话说,获取左侧(本地)完成的比较补丁,并尝试将其与右侧(远程)完成的比较补丁合并。

合并= Left-Diff-Path + Right-Diff-Path

如果现在有这样的支持,你知道有什么好的工具可以显示这4个组件吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-14 03:01:46

我不认为它存在。我一直听说BC3和P4Merge是最好的。

票数 2
EN

Stack Overflow用户

发布于 2012-10-06 04:07:33

diffuse似乎默认安装在我的Fedora17工作站上;在某种程度上,它也是默认的,因为我没有在我的.gitconfig上指定任何东西,仍然是:

代码语言:javascript
复制
git mergetool

只需打开它,立即显示要编辑的正确文件。

Meld似乎也能处理它,我不得不安装它,现在看起来更好了。

票数 2
EN

Stack Overflow用户

发布于 2021-12-07 18:33:03

不幸的是,我认为git并没有为mergetools提供你想要的信息。在定义调用mergetool的命令和参数时,它只有以下变量可用(从Git - git-mergetool Documentation)。所以它本质上没有“右基数”。

REMOTE

  • 是包含要合并的文件的公用库的临时文件的名称,如果available

  • LOCAL是包含当前分支上的文件内容的临时文件的名称

  • REMOTE是包含正在合并的分支中的文件内容的临时文件的名称

包含合并工具应将成功合并的结果写入其中的文件的名称

理论上,有人可以编写一个工具来查询git以找出合并状态,而不是被git调用为mergetool。在这种情况下,它可以获得您建议的信息。但我个人并不知道有什么工具可以做到这一点(在other answer中建议的melddiffuse命令没有)。

我同意你所要求的将是有用的。实际上,我个人希望看到的是BASE、LOCAL、REMOTE和" remote -DIFF“--后者是用于远程提交的补丁,这通常是我某人想要应用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8490647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档