使用Mercurial,我需要在分支之前提交主分支吗?

时间:2011-09-12 15:21:32

标签: mercurial

使用mercurial存储库,在初始化之后,我是否需要先创建master分支,然后再创建另一个命名分支,或者我可以这样做:

hg init
hg branch develop

然后提交到开发分支,然后在某个阶段合并发展到主人。

1 个答案:

答案 0 :(得分:2)

Mercurial真的没有主分支的概念;它们都是平等的,所有hg变换集都属于一个且只有一个分支。有一个约定将初始分支命名为default,并且在您创建新分支之前使用该名称,但您不需要使用该名称。在您的情况下,由于初始提交是对名为develop的分支进行的,因此不存在其他分支名称,包括default,直到您随后创建并提交一个。

不使用分支命令:

$ hg init
$ hg branches
$ touch a
$ hg add
adding a
$ hg comm -m 'initial commit to default'
$ hg branches
default                        0:c3eac81383bd

使用branch命令:

$ hg init
$ hg branch develop
marked working directory as branch develop
$ touch a
$ hg add
adding a
$ hg commit -m 'on develop'
$ hg branches
develop                        0:f0170c7bcdcf
$ hg branch default
marked working directory as branch default
$ touch b
$ hg add b
$ hg commit -m 'on default'
$ hg branches
default                        1:0668d80655ff
develop                        0:f0170c7bcdcf (inactive)
$ ls
a  b
$ hg update develop  # change working directory back to develop branch
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ ls
a