IntelliJ 和 Git:如何查看一个提交和两个旧提交之间的差异?
IntelliJ and Git: How to see diffs between a commit and two older commit?
你可能知道这个 window 你可以在其中看到一个提交与一个更早的提交之间的差异。
你知道我怎么能看到完全相同的比较,但是在一次提交和上一次提交之间,这不一定是当前提交之前的一次提交。
我知道我可以针对一个文件执行此操作,但我想针对整个项目执行此操作。
您可以 select 在 git 日志 window 中进行任意数量的提交(使用 shift/ctrl 并单击或光标键),右侧窗格将显示累积差异。
不幸的是,在 IntelliJ 中,没有命令或操作来比较精确的修订。
以下是几个相关的请求:
https://youtrack.jetbrains.com/issue/IDEA-125616 and https://youtrack.jetbrains.com/issue/IDEA-100431
但是,有一种方法可以查看两次提交之间发生了什么变化。为此,您需要转到版本控制 - 日志选项卡和 select 所需提交之间的整个范围(例如 select 较晚的提交,然后向下滚动到较旧的提交并使用 Shift 单击它).在显示更改文件的右侧窗格中,您将看到所有更改。
另一种方法:
- 打开
1: Project
面板
- 右键单击项目的根文件夹
- Select
Git
→ Show History
从菜单
这打开了一个完全不同的 git 日志视图,您可以在其中完全按照主 (9: Version Control
) git 的预期进行操作日志...即:
- Select(仅!)两次提交
- 点击
Compare
从出现的弹出对话框中,您可以select任何文件并按Ctrl-/Cmd- D(或右键单击 select 唯一的菜单项)以查看更改。
不幸的是,似乎没有任何方法可以"pin"查看您的工作区,尽管它会在您需要时一直悬停在顶部。
希望有一天 JetBrains 会创建这些 UI 的 "best of both worlds" 合并版本,这样我们就可以比较主 Version Control
日志中的内容。要添加到另一个答案中列出的此问题的 JetBrains 门票列表中......最旧的似乎是 https://youtrack.jetbrains.com/issue/IDEA-86480
也在 CLion 中(我认为在其他 JetBrains IDE-s 中是一样的):
- 打开 VCS 日志
- 通过其他分支过滤 VCS 日志(例如,personal/sherstennikov/krt-23941)
- 前 n 个提交必须是我们要与当前分支进行比较的其他分支上的范围
- select 左键单击其他分支 HEAD
- 右击它
- select 菜单 'Branch '(例如:分支 'personal/sherstennikov/krt-23941')
- 通过右侧的箭头展开并单击 'Compare with Current'
- 你得到一个 window(见图)'Comparing with in root '
左上窗格包含来自其他分支的提交范围
左下方窗格包含当前分支的日志
右窗格包含其他分支和 HEAD(或者可能 selection)中 commit/several-selected-commits(如果范围 selected,文件列表是累积的)之间的文件列表在当前分支
- 现在您可以单击右窗格中的文件以在单独的 window 中获取 selected 版本之间的差异(我们称其为 file-diff-between-other-and-current- window)
10.also in file-diff-between-other-and-current-window 就在 unified/side-by-side 查看器的左侧 select 或者,有一个控件可以在文件之间切换前面提到的不同文件列表
你可能知道这个 window 你可以在其中看到一个提交与一个更早的提交之间的差异。
你知道我怎么能看到完全相同的比较,但是在一次提交和上一次提交之间,这不一定是当前提交之前的一次提交。
我知道我可以针对一个文件执行此操作,但我想针对整个项目执行此操作。
您可以 select 在 git 日志 window 中进行任意数量的提交(使用 shift/ctrl 并单击或光标键),右侧窗格将显示累积差异。
不幸的是,在 IntelliJ 中,没有命令或操作来比较精确的修订。 以下是几个相关的请求: https://youtrack.jetbrains.com/issue/IDEA-125616 and https://youtrack.jetbrains.com/issue/IDEA-100431
但是,有一种方法可以查看两次提交之间发生了什么变化。为此,您需要转到版本控制 - 日志选项卡和 select 所需提交之间的整个范围(例如 select 较晚的提交,然后向下滚动到较旧的提交并使用 Shift 单击它).在显示更改文件的右侧窗格中,您将看到所有更改。
另一种方法:
- 打开
1: Project
面板 - 右键单击项目的根文件夹
- Select
Git
→Show History
从菜单
这打开了一个完全不同的 git 日志视图,您可以在其中完全按照主 (9: Version Control
) git 的预期进行操作日志...即:
- Select(仅!)两次提交
- 点击
Compare
从出现的弹出对话框中,您可以select任何文件并按Ctrl-/Cmd- D(或右键单击 select 唯一的菜单项)以查看更改。
不幸的是,似乎没有任何方法可以"pin"查看您的工作区,尽管它会在您需要时一直悬停在顶部。
希望有一天 JetBrains 会创建这些 UI 的 "best of both worlds" 合并版本,这样我们就可以比较主 Version Control
日志中的内容。要添加到另一个答案中列出的此问题的 JetBrains 门票列表中......最旧的似乎是 https://youtrack.jetbrains.com/issue/IDEA-86480
也在 CLion 中(我认为在其他 JetBrains IDE-s 中是一样的):
- 打开 VCS 日志
- 通过其他分支过滤 VCS 日志(例如,personal/sherstennikov/krt-23941)
- 前 n 个提交必须是我们要与当前分支进行比较的其他分支上的范围
- select 左键单击其他分支 HEAD
- 右击它
- select 菜单 'Branch '(例如:分支 'personal/sherstennikov/krt-23941')
- 通过右侧的箭头展开并单击 'Compare with Current'
- 你得到一个 window(见图)'Comparing with in root ' 左上窗格包含来自其他分支的提交范围 左下方窗格包含当前分支的日志 右窗格包含其他分支和 HEAD(或者可能 selection)中 commit/several-selected-commits(如果范围 selected,文件列表是累积的)之间的文件列表在当前分支
- 现在您可以单击右窗格中的文件以在单独的 window 中获取 selected 版本之间的差异(我们称其为 file-diff-between-other-and-current- window) 10.also in file-diff-between-other-and-current-window 就在 unified/side-by-side 查看器的左侧 select 或者,有一个控件可以在文件之间切换前面提到的不同文件列表