Intellij有一个很好的方法来用Compare tool来表示两个git分支之间的差异。
但是,这似乎对应于
git diff branch1..branch2有没有一种方法可以
git diff branch1...branch2(带三个点)
发布于 2014-03-27 17:50:56
我已经阅读了IntelliJ上的文档,搜索了VCS上的选项,但没有找到为diff指定选项的内容。
通过阅读diff上的文档,我只能建议您导航到合并库,签出另一个分支并执行diff,如下所示:
假设:
branch1是从mainlinebranch2分支出来的branch2,branch1
abc123是branch1和branch2的合并基础
执行以下操作:
git checkout abc123
git checkout -b branch1-temp然后转到IntelliJ并比较这两个分支。否则,只需使用命令行...表示法。
发布于 2018-08-08 16:57:48
还有另一种方式可以看到Intellij Idea的变化,就像在三点git diff中看到的那样。
为什么三点不同
当我需要三点差的时候,我会描述我的情况。在github上有大量的请求,我需要检查。分支F(eature)是从M(aster)分支出来的,对两者都做了一些更改,然后M(aster)中的一些更改已经合并到F(eature)中。现在,在进行了更多更改之后,我想将F(eature)合并到M(aster)中。
F -> M | | * * | | * * |\ | | \ | | \ | * * <- X | | * * \ | \ | \ | * <- P
解决方案
从命令行创建
git diff master...feature > diff
中创建的文件
现在您将看到应用补丁对话框,其中的更改与在github拉取请求中看到的更改类似
缺点
您不能在分支F(eature)中更改任何内容
您看不到谁提交了更改
在应用修补程序之前,您无法编译/运行
发布于 2020-07-29 07:23:31
我找到了一种方法,虽然还不错,但并不完美。
右键单击项目-> Git -> Compare With...
然后,在File Revision对话框中,选择不属于此分支的最顶层的commit。这可能很难确定,但这很有可能是另一位作者的第一篇文章。例如,如果这是文件修订历史记录:
d4c3af today Craig
c3af21 today Craig
b2af3a yesterday Bob
a1af73 two days ago Alice如果我知道我正在审查Craig的分支,我会选择Bob的提交。然后,IntelliJ给了我一个差异,只是克雷格分支中的变化。
https://stackoverflow.com/questions/22662990
复制相似问题