Стереть ветку, которая никогда не была нажата

Я только что узнал, что кто-то совершил некоторое время назад некоторые локальные изменения, это была редакция № 410, теперь правильная версия № 638... которая создала ветвь в ртутной истории этого человека, и я хочу от нее избавиться... Я пытался выполнить Undo > Backout... но это не позволит мне...

Я получил сообщение об ошибке:

сообщение об ошибке

Меркуриальная история этого человека:

Ветка, которая никогда не была сдвинута

Что я могу сделать, чтобы избавиться от этой ветви? Изменения, которые он должен был сделать, уже были внесены несколько изменений назад...

2 ответа

Решение

Эта ошибка, по-видимому, из-за того, что вы находитесь в другой ветке, вероятно, будет работать следующее:

hg up -r 410
hg backout -r 410
hg merge
hg commit

Тем не менее, это добавит нерелевантный набор изменений и слияние, которое вас не волнует. Вы могли бы просто сделать это, вместо этого:

hg clone -r tip repo repo1      # This should strip the unwanted changeset
cp repo/.hg/hgrc repo1/.hg/hgrc # This will copy any repo customizations
rm -rf repo                     # Delete original repo
mv repo1 repo                   # Replace original repo

Приведенные выше команды являются командами Unix/Linux, и, возможно, вы находитесь в Windows. Если да, просто замените команды на эквивалент Windows. Если вы не понимаете, я могу отредактировать свой ответ.

Вы можете использовать команду strip mq-extension, например: hg strip 410

Другие вопросы по тегам