Отбросьте локальную ветвь в Mercurial, прежде чем она будет нажата

Много раз случается, что у меня мало коммитов на локальном репозитории Hg, который я не хочу нажимать, а иногда и вообще хочу удалить локальную ветвь. Но я не могу откат более одного коммита, который не оставляет мне выбора, кроме создания нового клона и загрузки всего репозитория. Это кажется глупым, поскольку, если бы я мог просто удалить локальную ветвь, которая в любом случае не повлияла на удаленный репозиторий, тогда мне не пришлось бы создавать и настраивать новый клон. Итак, так ли это в Mercurial или есть способ отбросить локальную ветвь?

Спасибо!

Ответы

Ответ 1

Если вы включите расширение mq (в комплекте с Mercurial), вы можете использовать hg strip. Будьте осторожны, так как это изменит историю вашего репозитория. Безопасный метод заключается в клонировании вашего репозитория до версии, предшествующей созданию ветки, которую вы хотите отменить, затем потяните оставшиеся изменения, которые вы хотите сохранить.

Ответ 3

Я знаю, что слишком поздно, но это может быть полезно для любого:

Если ваша ветка еще не нажата.

  • Первый откат изменяет откат hg rollback только если вы сделали коммит, но еще не нажали
  • Второе hg update --clean
  • Третий запуск hg branch any-existing-branch
  • Четвертый прогон hg pull -u