Мне известно, что откаты могут удалять фиксации из последнего набора изменений в локальном репозитории. Однако можно ли удалить все последние коммиты с момента предыдущего нажатия без повторного клонирования хранилища общих ресурсов?
Откат нескольких коммитов (до нажатия на публичные) в Mercurial
Ответ 1
Вы можете создать новое репо с hg clone
:
hg clone -r last_good_changeset localrepo newlocalrepo
Ответ 2
Вы можете использовать команду hg strip
, часть расширения mq
:
hg strip REV
Это приведет к удалению этой версии + всех ее потомков.
Прежде чем пытаться это сделать, сделайте копию/клон репозитория для экспериментов.
Ответ 3
Если вы используете меркулярное затмение, вы можете откат один раз, затем отложить эти изменения, затем экспортировать несколько последовательных коммитов в виде патчей, удалить эти коммиты, а затем импортировать эти патчи в том же порядке, чтобы на случай, если у вас возникли конфликтующие исправления, они переписывают друг друга желаемым образом.
Наконец, вы можете перенести свой первый откат. Это достигает такого же эффекта, как если бы вы откатывались назад более одного раза.