【问题标题】:What are all of Mercurial's built in commit identifiers?Mercurial 的所有内置提交标识符是什么?
【发布时间】:2020-07-22 06:09:13
【问题描述】:

我正在寻找简单的方法来移动到不同的提交,有时是在一个分支中(不一定来自最新的提交)。例如,我想要一种方法来始终获取上一个提交:

# move to commit before current commit
hg checkout -r ~.1

或移动到分支的顶部

hg checkout tip

但我不知道如何移动到下一个提交(即当前提交之上的那个,~.1 的否定)。 hg 似乎内置了引用这些东西的方式(例如tip(最新提交)、.(当前提交)和.~N(第 N 次提交)),但还有其他的吗?

【问题讨论】:

    标签: mercurial


    【解决方案1】:
    1. 您必须仔细阅读 hg help revsets,并且 a) 构建(如果需要)b) 在 hg 命令中使用这些修订集
    • 如果您想使用“~”表示法,您必须使用 正确格式 revset hg log -r ".~1" 作为直接父级,并记住“仅评估第一个父级”(mergesets, f.e,有两个父母)
    "x~n"
      The nth first ancestor of x
    
    • 命名分支的顶部(分支头)不是tip(提示 - 在 repo 中的 ltest 提交,可以在另一个分支中),而是分支名称本身为 hg up

    • 使用 "x~n" revsets,您还可以使用负数:对于 n 明确后代。

    【讨论】:

    • 谢谢,hg help revsets 正是我想要的!
    猜你喜欢
    • 2016-11-16
    • 1970-01-01
    • 2012-08-23
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 2014-09-17
    相关资源
    最近更新 更多