Mercurial:查看上次提交更改的简便方法

cla*_*asz 51 mercurial

在Mercurial中,我可以通过运行来查看当前(未提交的)更改

$ hg diff
Run Code Online (Sandbox Code Playgroud)

精细.但是在提交之后,我有时想再次看到这个差异(即最后一个变更集的差异).我知道我可以做到这一点

$ hg log -l 1
changeset:    1234
tag ...

$ hg diff -c 1234
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来做到这一点.

Mac*_*cke 72

使用hg diff -c tip,或hg tip -p(更短,但仅适用于小费).

这将一直有效,直到您提取某些内容,因为它tip是最新修订版的别名,可以通过本地提交或从远程存储库拉/推来显示在repo中.

  • 谢谢,这就是我一直在寻找的东西。实际上,它是`-c tip`,而不是`-r tip`,但是关键点是tip别名。 (2认同)

ana*_*nik 10

您可以使用相对修订号作为--change选项:

hg diff -c -1
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅/sf/answers/248336371/.


pea*_*eak 6

一种替代方法是使用: hg diff --rev -2:-1

这种形式的优点是可以与status命令(例如hg st --rev -2:-1)一起使用,并且使用它可以轻松记住需要确定其他修订对(例如hg diff --rev 0:tip)之间的差异时该怎么做。


Han*_*ans 5

Macke 的回答很有帮助,但就我而言,我不想区分提示。

值得庆幸的是,您还可以对当前选择的评论进行差异化:

hg diff -c .
Run Code Online (Sandbox Code Playgroud)