【问题标题】:How to change the default revision in Mercurial?如何更改 Mercurial 中的默认版本?
【发布时间】:2010-10-03 20:43:39
【问题描述】:

当我clone以下项目时

http://code.google.com/p/signal-detector/source

它带有标记为default 的修订版,这不是最新的,也不是tip 修订版。

我尝试了许多合并以使最新版本成为默认版本,但我不能。

怎么做?

【问题讨论】:

    标签: windows mercurial tortoisehg


    【解决方案1】:

    我想我明白发生了什么,您创建了一个名为 default 的标签,但您不应该这样做。在没有标签default 的情况下,您可以使用分支名称default 获得最尖端的变更集。但是,由于您有一个名为 default 的标签指向修订版 c257bbab2cf6c87b2c212aadbdd76f14c71e1ee2,因此您将其作为默认更新。

    删除标签:

    hg tag --remove default
    

    我认为你会得到你所期望的行为。

    【讨论】:

    • 谢谢。之所以可能,是因为 Jader 足以发布回购链接。如果这是一个私人回购,我们仍然会被卡住。
    【解决方案2】:

    试试这个:

    hg update
    

    【讨论】:

    • 它只是将当前版本从一个标题更改为另一个标题,既不是最新版本,也不是最新版本。但我的意思是,我想更改存储库本身,所以每当有人克隆它时,它已经将提示作为当前修订版
    • tip 始终是存储库中的最新提交,无论您的 default 分支在哪里,因此,如果您有两个分支,并在一个分支中提交,然后在另一个分支中提交,来回,tip 将在每次提交的两个分支之间跳转。
    • @Jader Dias, hg update,不带任何参数总是会将工作副本更新为tip,所以我不明白你评论的第一部分。
    • 我认为我创建的标签default 导致了意外行为
    【解决方案3】:

    我假设您看到的default 标签与修订无关,而是您正在处理的分支。话虽如此,请输入以下内容来检查您当前的活跃头:

    hg heads
    

    如果您有多个头,这意味着您还没有将所有内容合并回实际分支的核心行。 如果是这种情况,请提交您的所有工作(这将自动落入一个新的临时分支)。然后,从源中拉出最后一个修订版,然后合并:

    hg pull && hg merge
    

    如果在拉取/合并阶段出现问题,请尝试通过发出以下命令将当前存储库更新为一个干净的存储库:

    hg update -C # Only if you've got problems with the previous command!
    

    然后重试合并操作。

    我可能误解了你的问题,因为我无法掌握你所有的环境状态,如果是这样,请见谅。

    【讨论】:

      猜你喜欢
      • 2011-08-16
      • 2018-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-13
      • 2017-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多