Ответ 1
$ hg branch experimental (edit file) $ hg commit $ hg update default
Я хотел бы провести экспериментальную работу в hg-проекте. Поэтому я хотел бы создать ветвь, зафиксировать ее. И если эксперимент работает, я могу объединить его обратно в главную ветку.
В git я могу сделать
$ git branch experimental
$ git checkout experimental
(edit file)
$ git commit -a
$ git checkout master
Я прочитал Руководство по ветвлению в Mercurial. Он сказал hg branch feature
. Но что дальше?
Я не следую.
$ hg branch experimental (edit file) $ hg commit $ hg update default
Прежде всего обратите внимание, что git branch
отличается от hg branch
. Филиалы, созданные с помощью hg branch
, являются постоянными и живут в глобальном пространстве имен, тогда как ветки с git branch
являются временными. Ближайшим эквивалентом git branch
является hg bookmark
: закладки можно переименовать и удалить и вести себя как Git -branches.
Недавно я написал руководство для закладок Mercurial. Сравните это с с именем branch guide. В обоих руководствах содержатся примеры использования (названных) ветвей в Mercurial для отслеживания развития. Он показывает, как объединить ветки и как их закрыть или удалить закладку, когда вы закончите.
Если это не большая функция (т.е. ветка не должна иметь имя), это довольно просто.
Скажем, ваш репозиторий находится в редакторе X. Вы работаете над функцией столько, сколько хотите, совершаете, совершаете, совершаете, и если вы довольны результатом, продолжайте, как если бы вы знали, что все будет работать.;) Если вы недовольны, выполните hg update X
и продолжите разработку. Вся работа, которую вы сделали в эксперименте, станет анонимной веткой.
Как ни странно, появляется что Git не предоставляет такой способ работы с анонимными ветвями, что может вас смутить.