Как развиваться на ветке в HG? - PullRequest
19 голосов
/ 26 апреля 2010

Я бы хотел провести экспериментальную работу в hg проекте. Поэтому я хотел бы создать ветку, посвятить себя этому. И если эксперимент удастся, я могу объединить его с основной веткой.

В мерзавце я могу сделать

$ git branch experimental
$ git checkout experimental
(edit file)
$ git commit -a
$ git checkout master

Я прочитал Руководство по ветвлению в Mercurial . Это сказало hg branch feature. Но что дальше? Я не слежу.

Ответы [ 3 ]

24 голосов
/ 26 апреля 2010
$ hg branch experimental

(edit file)
$ hg commit
$ hg update default
21 голосов
/ 26 мая 2010

Первое замечание: git branch это отличается от hg branch. Ветви, созданные с помощью hg branch, являются постоянными и живут в глобальном пространстве имен, тогда как ветви, созданные с помощью git branch, являются временными. Ближайшим эквивалентом git branch является hg bookmark: закладки можно переименовывать и удалять и вести себя больше как Git-ветки.

Я недавно написал руководство по закладкам Mercurial . Сравните это с именованным путеводителем . Оба руководства содержат рабочие примеры использования (именованных) веток в Mercurial для отслеживания разработки. В нем показано, как объединить ветви и как их закрыть или удалить закладку, когда вы закончите.

8 голосов
/ 26 апреля 2010

Если это не большая особенность (т. Е. У ветви не должно быть имени), это довольно просто.

Допустим, ваш репозиторий находится в changeset X. Вы работаете над этой функцией столько раз, сколько хотите, фиксируете, фиксируете, фиксируете, и если вы довольны результатом, продолжайте, как если бы вы знали, что он будет работать все время. ;) Если вас это не устраивает, сделайте hg update X и продолжайте разработку оттуда. Вся работа, которую вы проделали в своем эксперименте, станет анонимной веткой.

Как ни странно, кажется , что Git не предоставляет такой способ работы с анонимными ветками, что может вас смущать.

...