2010-07-01 2 views
5

Я совершил несколько раз с mercurial и толкнул мои коммиты. Никто их не трогал. Как я могу «выбросить» эти коммиты, чтобы восстановить локальное и удаленное репо (как репо, так и рабочий каталог) с указанным коммитом? Спасибо.Бросьте кучу коммитов в Mercurial

ответ

3

Самый быстрый способ - просто клонировать ваше местное репо до последней «хорошей» версии и отбрасывать старый.

Это работает только в том случае, если эти изменения являются последним n в истории.

Вы можете скопировать раздел [paths] старого файла репозитория .hg/hgrc на новый, если вы хотите продолжить переход на третье «основное» репо.

1

Вы можете использовать $hg revert, чтобы вернуть код к предыдущей редакции.

Если вы введете $hg help revert в свою командную строку, вы получите список способов, которыми вы можете вернуться.

Эти параметры включают в себя:

--all 

--date 

--rev 

--rev, вероятно, будет тот, который вы хотите, так как он возвращается назад к конкретной ревизии.

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

+0

hg revert только изменяет рабочий каталог. Это не влияет на историю репозитория, даже с --rev. Фактически, hg revert --rev REV идентичен hg up -C REV. – tghw

+0

Спасибо за головокружение @tghw. Я каждый день узнаю что-то новое :) –

Смежные вопросы