Как вы "откатываете" последнюю фиксацию на 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