Intellij有一种很好的方式来展示两个git分支与Compare tool之间的差异。
但是,这似乎与
相对应git diff branch1..branch2
有没有办法执行
git diff branch1...branch2
(有三个点)
答案 0 :(得分:0)
我已经阅读了IntelliJ上的文档,搜索了VCS上的选项,没有找到任何指定diff的选项。
通过阅读diff
上的文档,我只能建议您导航到合并库,签出另一个分支并执行diff
,如:
假设:
branch1
是主线branch2
分支branch1 abc123
是branch1
和branch2
执行:
git checkout abc123
git checkout -b branch1-temp
然后转到IntelliJ并比较这两个分支。否则,只需使用命令行...
表示法。
答案 1 :(得分:0)
还有一种查看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
结帐提交X
在“想法”中,打开“应用补丁”对话框,然后选择在步骤1中创建的文件。
现在您将看到Apply patch对话框,其更改与您在github pull request中看到的更改类似
您无法更改分支F(eature)
您看不到谁提交了更改
在应用补丁之前,您无法编译/运行
答案 2 :(得分:0)
我找到了一种可以但又不完美的方法。
右键单击项目-> Git->与...比较...
然后在“文件修订”对话框中选择不属于此分支的最顶层的提交。这可能很难确定,但是很有可能这是另一位作者的第一个。例如,如果这是文件修订历史记录:
d4c3af today Craig
c3af21 today Craig
b2af3a yesterday Bob
a1af73 two days ago Alice
如果我知道我正在审查Craig的分支机构,我会选择Bob的提交。然后IntelliJ给了我一个区别,只是对克雷格的分支所做的更改。