检查HG中的变更集

not*_*oop 34 git mercurial

如何在不查找其父级的情况下检查mercurial中的变更集?在mercurial中,相当于什么

git show HEAD^
Run Code Online (Sandbox Code Playgroud)

Git-show也提供了变更集元数据和差异.

Ste*_*osh 58

你的问题有两个部分.首先,如何一次性获取变更集的元数据和差异:

hg log --patch --rev tip
Run Code Online (Sandbox Code Playgroud)

您可以缩短选项:

hg log -pr tip
Run Code Online (Sandbox Code Playgroud)

问题的第二部分是如何在不查找的情况下说出"X的父变换集".为此,您可以使用Martin提到的parentrevspec扩展.

启用扩展程序后,您可以执行以下操作:

hg log -pr tip^
Run Code Online (Sandbox Code Playgroud)

~/.hgrc如果您不想从git的命令重新训练手指,可以在文件中添加别名:

[alias]
show = log -pr
Run Code Online (Sandbox Code Playgroud)

然后你可以使用:

hg show tip^
Run Code Online (Sandbox Code Playgroud)

  • 如果没有parentrevspec,他可以在提示之前做"-r -2"来获取变更集,对吗? (2认同)
  • 是的,这是真的.虽然这对'hg show mytag ^'不起作用,对吗? (2认同)
  • 通常,对于这种情况,首选`hg export`(它列出完整的提交消息等). (2认同)
  • 首选谁?如果需要完整的提交消息,可以在日志命令中添加`--verbose` /`-v`.`log`的输出更易于阅读(日期和节点/父ID的格式更友好),它支持`--color`,与`export`不同. (2认同)

ton*_*nfa 13

我想你想要的hg export cset.


Ale*_*lex 5

完全相当于"git show HEAD ^"将是:

hg log -pr -2   # -1 (last commit), -2 - one before it, etc.
Run Code Online (Sandbox Code Playgroud)

或者例如,如果你想查看最后3次提交(使用diff):

hg exp tip^  # tip^ is similar to -r -2
Run Code Online (Sandbox Code Playgroud)

有点迟到的答案,但仍然.:)

更新:显然现在HG也支持git语法:

hg log -pr -3:  # colon means start 3 commits behind and up to tip inclusive
Run Code Online (Sandbox Code Playgroud)

要么

hg exp tip^^^..tip
Run Code Online (Sandbox Code Playgroud)