Mercurial: исправление поврежденной истории

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

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

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

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

1 ответ

Решение

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

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

hg clone -r 92 BadRepository CleanRepository

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

Если вы используете TortoiseHG, вы можете сделать то же самое в диалоге Clone (есть текстовое поле "Clone to revision:")

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