Как вы "откатываете" последнюю фиксацию на Mercurial?

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

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

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

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

Ответ 1

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

hg rollback

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

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

Ответ 2

Ответ strip.

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

hg strip --keep -r .

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

hg strip --keep -r 1234

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

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

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

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

Кредит ForeverWintr