С Mercurial нужно ли фиксировать ветку master перед ветвлением? - PullRequest
0 голосов
/ 12 сентября 2011

В ртутном репозитории после его инициализации мне нужно сначала зафиксировать в ветке master, прежде чем создавать другую именованную ветвь, или я могу сделать:

hg init
hg branch develop

, а затем зафиксировать в ветке разверткидо того, как на каком-то этапе слияние перерастет в мастера.

1 Ответ

2 голосов
/ 12 сентября 2011

Mercurial действительно не имеет понятия главной ветки;все они равны, и все hg changesets принадлежат одной и только одной ветви.Существует соглашение об именовании начальной ветви как 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...