Mercurial 相当于 git 的 HEAD~1
在 git 中,使用 HEAD~1
识别相对于存储库中最新提交的提交非常方便。
我已经搜索过,但在 Mercurial 中找不到对应的东西。我发现 Mercurials 版本号相当烦人。
In git it's quite convenient to identify a commit relative to the latest commit in the repo with HEAD~1
.
I have searched and cannot find an equivalent for this in mercurial. I find mercurials revision numbers rather annoying.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
正确答案是
.^
或.~1
。tip
指向进入存储库的最新版本,而不是您当前所在的版本。任何包含tip
的答案都是不正确的。Mercurial 的 revset 语法在此处更详细地指定: https://www.mercurial-scm .org/repo/hg/help/revsets
The correct answer is
.^
or.~1
.tip
points to the latest revision that entered the repository, not the current revision you're on. Any answers that includetip
in them are incorrect.Mercurial's revset syntax is specified in more detail here: https://www.mercurial-scm.org/repo/hg/help/revsets
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)
。The revset feature of Mercurial is extremely powerful (and much less arcane than git revision specification syntax): see
hg help revsets
(or online at: http://www.selenic.com/mercurial/hg.1.html#specifying-revision-sets).See here for a list of predicates (I don't know why they aren't displayed in the online doc): http://hg.intevation.org/mercurial/crew/file/e597ef52a7c2/mercurial/revset.py#l811
In your case that would be:
p1(tip)
.有一个mercurial 扩展,它添加了类似 git 的命令。
具体命令为
hg log -pr .^1
。有关更多信息,请参阅检查 hg 中的变更集
编辑:使用
.^1
,而不是tip^1
。如下所述,tip
给出了整个存储库中的最新提交,这可能不是您想要的。.
的含义更接近 git 的HEAD
。 (另请参阅:将点指定为 Mercurial 中的修订版)There is a mercurial extension that adds git like commands.
Specific command is
hg log -pr .^1
.For extra information, see examining a changeset in hg
Edit: Use
.^1
, nottip^1
. As mentioned below,tip
gives the most recent commit in the entire repo, which is possibly not what you want. The.
is closer in meaning to git'sHEAD
. (See also: Specify dot as a revision in Mercurial)