Отбросьте локальную ветвь в Mercurial, прежде чем она будет нажата
Много раз случается, что у меня мало коммитов на локальном репозитории Hg, который я не хочу нажимать, а иногда и вообще хочу удалить локальную ветвь. Но я не могу откат более одного коммита, который не оставляет мне выбора, кроме создания нового клона и загрузки всего репозитория. Это кажется глупым, поскольку, если бы я мог просто удалить локальную ветвь, которая в любом случае не повлияла на удаленный репозиторий, тогда мне не пришлось бы создавать и настраивать новый клон. Итак, так ли это в Mercurial или есть способ отбросить локальную ветвь?
Спасибо!
Ответы
Ответ 1
Если вы включите расширение mq (в комплекте с Mercurial), вы можете использовать hg strip
. Будьте осторожны, так как это изменит историю вашего репозитория. Безопасный метод заключается в клонировании вашего репозитория до версии, предшествующей созданию ветки, которую вы хотите отменить, затем потяните оставшиеся изменения, которые вы хотите сохранить.
Ответ 2
Если вы часто это делаете, возможно, вы должны использовать закладки вместо названных ветвей. http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/
Ответ 3
Я знаю, что слишком поздно, но это может быть полезно для любого:
Если ваша ветка еще не нажата.
- Первый откат изменяет откат
hg rollback
только если вы сделали коммит, но еще не нажали - Второе
hg update --clean
- Третий запуск
hg branch any-existing-branch
- Четвертый прогон
hg pull -u