Как вы "откатываете" последний коммит на 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.
Кредит для ForeverWintr
В современных hg:
hg uncommit
или, для вашей точной проблемы:
hg add file4
hg amend