4

在我正在工作的存储库中,我们有时创建了一个命名分支,以在某个问题中尝试不同的方法。我们也继续在默认分支中工作。

既然命名分支已经成熟,可以这么说,我们想将该分支设为默认分支,并为(旧)默认分支提供不同的名称。

这样的事情可能吗?

我发现了这个问题,Mercurial:我可以重命名一个分支吗?我可以成功重命名默认分支,但是之后当我尝试将命名分支重命名为默认时,它失败并出现错误

abort: a branch of the same name already exists
4

1 回答 1

7

是的你可以。

您需要关闭所有分支,然后为它们提供所需的名称

PS:好像你只需要-f在分支命令中添加标志

示例场景

hg init
echo "123" > file
hg addremove
hg commit -m "init default"

hg branch new
echo "new" >> file
hg commit -m "init new"

hg up default
echo "default" >> file
hg commit -m "default 2nd"
hg commit --close-branch -m "close default"


hg up new
hg commit --close-branch -m "close new"

hg branches # none

hg log # see where to update if haven't saved id/hash somewhere

hg up 3 # this changset was the "close default" one
hg branch new -f
hg commit -m "new new"

hg up 4 # the changeset we closed "new" at
hg branch default -f
hg commit -m "new default"

结果:

在此处输入图像描述

>hg log -G
o  changeset:   6:af87a53292cf
|  tag:         tip
|  parent:      4:700a73ac7cad
|  user:        Ivan Kurnosov
|  date:        Tue Jun 05 17:22:27 2012 +1200
|  summary:     new default
|
| @  changeset:   5:4ee990605ba1
| |  branch:      new
| |  parent:      3:6ebccfc3e630
| |  user:        "Ivan Kurnosov
| |  date:        Tue Jun 05 17:18:01 2012 +1200
| |  summary:     new new
| |
o |  changeset:   4:700a73ac7cad
| |  branch:      new
| |  parent:      1:4a149d3fe86e
| |  user:        "Ivan Kurnosov
| |  date:        Tue Jun 05 17:15:18 2012 +1200
| |  summary:     close new
| |
| o  changeset:   3:6ebccfc3e630
| |  user:        "Ivan Kurnosov
| |  date:        Tue Jun 05 17:14:49 2012 +1200
| |  summary:     close default
| |
| o  changeset:   2:92669a82423b
| |  parent:      0:05657f61324b
| |  user:        "Ivan Kurnosov
| |  date:        Tue Jun 05 17:13:07 2012 +1200
| |  summary:     default 2nd
| |
o |  changeset:   1:4a149d3fe86e
|/   branch:      new
|    user:        "Ivan Kurnosov
|    date:        Tue Jun 05 17:12:30 2012 +1200
|    summary:     init new
|
o  changeset:   0:05657f61324b
   user:        "Ivan Kurnosov
   date:        Tue Jun 05 17:11:51 2012 +1200
   summary:     init default
于 2012-06-05T05:08:34.677 回答