在git中,使用HEAD~1
识别与仓库中最新提交相关的提交非常方便。
我已经搜索过,但在mercurial找不到相应的内容。我觉得mercurials版本号很烦人。
答案 0 :(得分:10)
Mercurial的revset功能非常强大(并且比git修订版规范语法更加神秘):请参阅hg help revsets
(或在线:http://www.selenic.com/mercurial/hg.1.html#specifying-revision-sets)。
请在此处查看谓词列表(我不知道为什么它们不会显示在在线文档中):http://hg.intevation.org/mercurial/crew/file/e597ef52a7c2/mercurial/revset.py#l811
在你的情况下:p1(tip)
。
答案 1 :(得分:7)
正确答案为.^
或.~1
。
tip
指向进入存储库的最新修订版,不您当前的修订版。其中包含tip
的任何答案均不正确。
Mercurial的revset语法在此处详细说明:https://www.mercurial-scm.org/repo/hg/help/revsets
x^n
:x的第n个父,n == 0,1或2.对于n == 0,x;对于n == 1,x中每个变更集的第一个父项;对于n == 2,x中变更集的第二个父项。
x~n
:x的第n个祖先; &#34; X〜0&#34;是x; &#34; X〜3&#34;是&#34; x ^^^&#34;。对于n < 0,x的第n个明确的后裔。
x^
:相当于&#34; x ^ 1&#34;,x中每个变更集的第一个父级。
答案 2 :(得分:6)
有mercurial extension添加git之类的命令
具体命令为hg log -pr .^1
。
有关其他信息,请参阅examining a changeset in hg
修改:使用.^1
,而不是tip^1
。如下所述,tip
提供了整个仓库中最近的提交,这可能不是您想要的。 .
与git HEAD
的含义更接近。 (另见:Specify dot as a revision in Mercurial)