IntelliJ Idea中如何比较未暂存或未提交的更改

14
在IntelliJ Idea IDE中,如何执行与普通的git diff(理想情况下是git diff -w)或git diff --staged等效的操作,以便我可以将我的更改与分支的HEAD并排查看?基本上,我想要的是Eclipse Juno中的Project Explorer→Compare With→HEAD Revision相同的功能。我已经找到了在IntelliJ中比较不同分支的方法,但我还没有弄清楚如何做这个基本的事情——当前分支在Project tree→Git→Compare with Branch...中不会显示为选项。一个下面的答案解释了如何对一个文件执行此操作,但这对整个项目甚至单个目录都不起作用,只适用于单个文件。我是8年来第一次使用IntelliJ,所以我可能忽略了一些显而易见的东西。不幸的是,IntelliJ专家完全不了解Git。;-)

2
我刚刚按下了Cmd+K(提交快捷键),它会显示出我在当前分支中更改的所有文件。不过,你必须点击每个文件才能查看差异。我觉得这很有用,但我希望它不是一个模态对话框。 - Jordan Hudson
3个回答

3

您可以通过转到主菜单 -> VSC -> GIT -> 与相同版本仓库比较,查看已打开文件的差异。

工具栏中还有一个快捷方式 enter image description here,使用它可以直接查看已打开文件的差异。


5
谢谢。但我真正想做的是对整个代码库进行差异比较,以便知道我将要提交的内容。这个功能似乎只能一次处理一个文件。(当我在项目视图中右键单击目录时,它在上下文菜单中被禁用,但对于单个文件则启用。唉!) - Michael Scheper
1
在 VCS 菜单 -> 显示更改视图 或者版本控制工具窗口中,您可以看到所有更改文件的列表。 您可以打开文件并继续点击下一个更改。 在文件结尾处,它将自动打开下一个文件中的差异。 或者按 ⌘Shift ] 直接跳转到下一个文件。 - msfk
哦,所以“下一个更改”跨越文件……我想这有点帮助。不过,从Eclipse中显示更改的文件树是我非常怀念的东西! - Michael Scheper

3
您可以使用版本控制窗口查看所有更改的文件(⌘-9)。然后,您可以选择文件并按下⌘-D以查看其差异。

抱歉回复晚了。我目前没有使用IntelliJ,所以无法验证这是否有效,因此我还没有接受任何答案。此外,我没有Mac,所以我没有clover-splat键。您是否知道Linux中的键盘快捷键,或者能否指定菜单路径? - Michael Scheper
3
在Linux上,按Alt+9可以查看更改文件列表(菜单项View→Tool Windows→Version Control),然后按Ctrl+D打开文件的差异。该功能在此处有文档记录:https://www.jetbrains.com/help/idea/version-control-tool-window-local-changes-tab.html。 - fedorn

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接