【问题标题】:Is there a way to view all changes in my branch within a JetBrains IDE?有没有办法在 JetBrains IDE 中查看我的分支中的所有更改?
【发布时间】:2021-08-02 07:27:21
【问题描述】:

我有一个包含三个提交的 mercurial 分支,我想在 Rider 中查看这三个提交的汇总更改。

我可以使用 TortiseHg 和 BeyondCompare,但我想知道是否可以在 IDE 中实现我想要的。

我知道我可以使用CommitMercurial 选项卡来查看单个提交的更改,是否有类似的方法可以查看分支的所有文件更改?

【问题讨论】:

  • 我不清楚“分支中的所有更改”是什么意思。 Mercurial 分支包含一些非零数量的提交,每个提交代表一个快照(内部存储格式是您无法控制的增量和快照的奇怪组合)。每个提交都在一个特定的分支上,并且只能在该分支上找到; hg log -b <branch> 将显示该特定分支中的所有提交。
  • @torek 道歉我应该更准确地措辞这个问题。我已经更新了。

标签: mercurial jetbrains-ide rider


【解决方案1】:

对于使用 TortoiseHG(Mercurial 的通用 GUI 前端)的用户,它有一个内置功能。

在 Workbench 窗口中,您可以 CTRL+单击以选择历史记录中的任意两个任意提交。然后右键单击其中一个并选择“Visual Diff”。

这会显示一个显示相关更改文件的确认信息。从那里您可以选择一个或多个差异工具(除了 Tortoise 附带的 KDiff3 之外,我还安装了 WinMerge),然后单击“目录差异”。

(THG 似乎知道哪些可用的差异工具能够执行此操作)。

diff 工具应该首先向您显示文件集之间的差异,然后您可以深入了解各个文件的差异。 (KDiff3 和 WinMerge 都这样做。)

【讨论】:

  • 谢谢。我应该在我的问题中指定我希望尝试在我的 JetBrains IDE 中执行此操作,而无需切换到 THG 等其他程序。我已经对其进行了更新以反映这一点
【解决方案2】:

有多种方法可以做到这一点,这是我的做法:

你有一个分支 default 三个提交 (A,B,C)

   C
  B
 A
D1
  1. 确保您没有未提交/有效的更改 - 如果有,请搁置或提交。
  2. 更新到 default 分支,它是您的第一个分支提交 (D1) 的父分支。
  3. 在不更新的情况下,将所有更改还原为提交 C(比如 C 是 rev 1234)。

hg revert --all --rev=1234

或者如果您使用thg,只需右键单击C 提交并单击“还原所有文件”

这会将您的工作目录更新为提交 ABC 所做的更改, 允许将它们作为单个更改进行审核。

在将功能分支合并回default 之前,这通常是一件有用的事情。

【讨论】:

    猜你喜欢
    • 2018-10-24
    • 2016-02-28
    • 2015-08-01
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-16
    相关资源
    最近更新 更多