【问题标题】:IntelliJ: Viewing diff of all changed files between local and a git commit/branchIntelliJ:查看本地和 git commit/branch 之间所有更改文件的差异
【发布时间】:2012-04-07 04:20:48
【问题描述】:

使用 IntelliJ 的差异查看器是查看代码的一种非常好的方式,因为您可以使用 IntelliJ 代码编辑器的所有功能(重构、完成等)在本地版本中进行更改。

不幸的是,当您在 IntelliJ 中进行代码审查时,我还没有弄清楚如何做最重要的事情,即:查看工作树中所有更改文件的差异(签出到您想要的分支合并自)和另一个分支(您计划合并到的分支,例如“master”)。

有人知道怎么做吗?

【问题讨论】:

标签: git intellij-idea


【解决方案1】:

虽然 Jon Tirsen 的回答是正确的,但您需要通读全文才能理解如何做到这一点。

这是mac中相同的图像。

  1. 我目前正在与 hello_world 合作,并希望与 master 进行比较。

更新:在新 UI 中,点击Show Diff with Working Tree

  1. 接下来会弹出一个窗口。选择Files 并按cmd + d

  1. 另一个显示差异的窗口。您可以执行许多不同类型的差异。使用 cmd + shift + ]cmd + shift + [ 在文件之间切换。

差异提示:IntelliJ 提供了高级差异功能。您可以查看第三张图片上的内容。

【讨论】:

  • 我怎样才能对整个项目执行此操作,而不是逐个文件?
  • @JoeMjr2 我真的不确定该功能今天是否可用。您可以使用 cmd + shift + [cmd + shift + ] 浏览所有文件(如果您使用的是 Windows,请将 cmd 替换为 ctrl)。
  • 这个在2020版本更新中有所改动,更新方法见我下面的回答。
  • 你能通过提交 ID 比较 2 个修订版吗?
  • 遗憾的是,此模式现在已更改为选项卡视图,它没有文件差异。因此,这个答案已经过时了。
【解决方案2】:

这已在 2020 版本更新中更改:

您现在需要执行以下操作:

  1. 签出您要比较的分支之一。

  2. 打开分支菜单。

  3. 选择要与之比较的另一个分支。

  4. 选择“使用工作树显示差异”

【讨论】:

  • 谢谢,我意识到它已经改变了,但不知道它去了哪里。
  • 这是目前最新的答案。其他答案与旧 IntelliJ 版本相关,但与当前版本无关。
  • 这是最好的答案!!
【解决方案3】:

现在已实施。您右键单击项目并选择“Git - 与分支比较...”并选择master 分支。完毕。区分所有文件。

【讨论】:

  • 这是一个很好的方法。如果您看到该选项显示为灰色,那是因为您没有右键单击 java/main/src 项目文件夹。
【解决方案4】:

右键单击类并选择 Git 选项,您将在其中看到与分支选项比较,您可以在其中选择特定分支。

【讨论】:

    【解决方案5】:

    如果您只是想以并行方式将当前打开的文件与另一个分支进行比较,只需转到 VCS -> Git -> 与分支比较。

    【讨论】:

    • 这回答了一个问题,但不是这个问题! :)
    【解决方案6】:

    现在已经实现了。为了比较你做的两个分支:

    1. 查看您要比较的分支之一。
    2. 在 IntelliJ 窗口右下角状态栏中的 Git 分支弹出窗口中选择要比较的分支。将显示一个包含一些选项的弹出窗口。
    3. 选择“比较”选项。
    4. 这默认显示所有提交,您也可以选择“Diff”选项卡来显示实际更改。

    这在他们的blog posts 之一中有更详细的描述。

    【讨论】:

    • 这是否也可以通过任意提交而不是分支来实现?我的意思是我可以快速为此创建一个本地分支,但这似乎有点麻烦。
    • @Hikaru755 是的,我创建了一个tmp 分支,我想它已经足够好了。虽然看起来有点矫枉过正
    • @Robin 是的,你可以。打开文件的历史,选择两个提交并按Ctrl-D。它也适用于不同的分支。
    猜你喜欢
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多