Отмена создания ветки в Mercurial

Как я могу отменить создание ветки в Mercurial? Например, если я даю команду

hg branch newbranch

Как мне удалить эту ветку, если я решу, что ввел неправильное имя? Я предполагаю, что это должно быть довольно просто сделать, но мне еще предстоит понять это. Спасибо!


person Michael Mior    schedule 07.06.2010    source источник


Ответы (4)


если вы ничего не зафиксировали в нем, он на самом деле не был создан. так что просто выпустите еще один hg branch newname.

person Idan K    schedule 07.06.2010
comment
Хм, кажется, тогда я зафиксировал ветку. Упс. Что я могу решить. В любом случае спасибо за быстрое решение! Это все еще полезно. - person Michael Mior; 07.06.2010
comment
в этом случае я не думаю, что вы можете, так как имя ветки является частью ревизии. если это так важно, вы можете hg strip ветку и повторить все заново :) - person Idan K; 07.06.2010
comment
Бу! Вы не должны предлагать strip без предупреждения о серьезных и серьезных рисках в случае, если другие люди уже вытащили репо. - person Ry4an Brase; 08.06.2010
comment
Вы сказали, что если вы не совершили коммит, он на самом деле не был создан, что, если мне вообще не нужна ветка, могу ли я просто продолжить или моя следующая фиксация будет включать эту ветку в качестве коммита? - person Neil; 31.07.2013

Если вы еще не выполнили коммит, вы можете просто выполнить полный сброс в соответствии с руководством (http://www.selenic.com/mercurial/hg.1.html#commands):

hg branch -C

Это сбросит имя ветки рабочего каталога на родительскую ветку, которую вы только что создали.

person JavaSplice    schedule 13.05.2014
comment
Просто по ошибке создал ветку без фиксации, и hg branch -C явно правильный путь. - person alwillis; 10.02.2015
comment
Это лучший ответ на вопрос, поставленный в заголовке. - person Cody C; 25.08.2016
comment
Это настоящий ответ. - person Nick Hodges; 01.09.2016
comment
Именно то, что я искал. Это должен быть принятый ответ. - person dannymo; 12.09.2017

Если он уже зафиксирован:

  • hg clone -b branch1 [-b branch2 [-b ..]] oldrepo newrepo, то есть каждая ветка, кроме новой ветки, приведет к созданию нового репо без новой ветки.
  • Если расширение mq включено, то hg strip

Прежде чем вносить постоянные изменения в репозиторий, просмотрите историю редактирования.

person vsh    schedule 08.06.2010

Предполагая, что вы не отправили данные в удаленный репозиторий, включите расширение mq и удалите ветку.

person Kyle Heironimus    schedule 08.06.2010