【问题标题】:Create a new branch at a certain revision在某个版本创建一个新分支
【发布时间】:2012-11-25 09:53:49
【问题描述】:

使用 mercurial 可以很容易地在某个修订版上创建标签:hg tag -r <revision> <tag-name>。但是如何在某个版本创建一个分支呢?

【问题讨论】:

    标签: mercurial


    【解决方案1】:

    前言: Mercurial分支有两种:

    • 命名分支
    • 匿名

    命名分支

    为了获得命名分支 BRANCHNAME,从 REV 开始

    hg update REV
    hg branch BRANCHNAME
    ...
    hg commit
    

    提交是必须的,因为

    在下一次提交之前,该分支不会存在于存储库中

    hg help branch中所述

    匿名分支

    hg update REV
    ...
    hg commit
    

    当前分支获得额外的头部


    最后一步,使用以下命令创建远程分支并推送变更集。
    hg push --new-branch
    

    【讨论】:

    • 问题:在执行hg update 679; hg branch mybranch; hg commit 时,分支mybranch 仍将在分支默认值的顶端开始,而不是在修订版679。
    • @Francois - 使用hg id -n更新后检查当前版本
    【解决方案2】:

    你可以hg clone -r <rev>。从命令行帮助(运行hg -v help clone):

    - create a repository without changesets after a particular revision:
    
        hg clone -r 04e544 experimental/ good/
    

    【讨论】:

    • 克隆本身不是分支。它只会(可能)出现在 hg pull|push from|to SRC repo
    • @LazyBadger 我的错,感谢您指出这一点。为您的回答 +1。
    猜你喜欢
    • 2016-11-11
    • 2016-12-15
    • 2011-09-28
    • 2011-05-27
    • 2021-08-09
    • 2016-10-14
    • 2011-04-24
    • 2013-09-08
    • 2022-01-07
    相关资源
    最近更新 更多