Как вы "откатываете" последний коммит на Mercurial?

У меня есть репозиторий Mercurial, который я использую только локально... Это для моего личного использования (поэтому я никуда не "толкаю").

Я сделал коммит с 3 файлами, но после этого я понял, что должен сделать коммит 4 файла...

Есть ли способ "откатить" мой последний (последний, только один) коммит и "перекомпилировать" его с правильными файлами?

(Я не знаю почему, но моя опция "Изменить текущую ревизию" не активна, поэтому я не могу ее использовать...)

3 ответа

Решение

Вам просто нужна эта команда:

hg rollback

Смотрите: http://hgbook.red-bean.com/read/finding-and-fixing-mistakes.html.

(Технически, это устарело с версии 2.7, август 2013, но я еще не видел альтернативу, которая делает то же самое.)

Ответ - полоса (если у вас ее нет, вы можете проверить, как включить ее здесь: /questions/13481007/kak-mne-sdelat-sbros-nastroek-hard-head-na-mercurial/13481025#13481025).

Если вы хотите отменить только последнее использование фиксации:

hg strip --keep -r .

Если вы хотите вернуться к определенной фиксации:

hg strip --keep -r 1234

Использование strip вернет состояние ваших файлов к указанному коммиту, но вы будете иметь их как ожидающие изменения, чтобы вы могли применить их вместе с вашим файлом к ​​новому коммиту.

Восстановите ваши раздетые данные:

Если вы пропустили команду или хотите восстановить изменения, вы можете найти удаленные файлы в папке.hg/strip-backup.

Учебник о том, как восстановить ваши файлы, или просто Google для него (работает одинаково на всех ОС).

Кредит для ForeverWintr

В современных hg:

hg uncommit

или, для вашей точной проблемы:

hg add file4
hg amend
Другие вопросы по тегам