Mercurial: исправление поврежденной истории - PullRequest
6 голосов
/ 22 июля 2010

Так что, работая над проектом недавно (я сам - без других разработчиков), мне каким-то образом удалось серьезно увязать историю с некоторыми (очевидно) неудачными слияниями из клонированных репозиториев.

Что я хотел бы сделать - нужно сделать - это исправить, просто удалив последние 8 коммитов (согласно hg glog)

Да, я внес несколько изменений в код после начала обработки, однакотолько несколько настроек здесь или там - ничего, что я не могу исправить свежим из памяти.

Как мне избавиться от последних 8 коммитов и начать все заново с того места, где я облажался?

1 Ответ

11 голосов
/ 22 июля 2010

Создайте клон вашего хранилища - когда вы сделаете это, вы можете указать последний коммит, который должен быть клонирован.

Итак, если в вашем репозитории 100 наборов изменений и вы хотите избавиться от наборов изменений от 93 до 100, просто сделайте следующее:

hg clone -r 92 BadRepository CleanRepository

-> CleanRepository будет содержать только наборы изменений от 1 до 92.

Если вы используете TortoiseHG, вы можете сделать то же самое в диалоге клонирования (есть текстовое поле «Клонировать в ревизию:»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...