У меня есть простая проблема. Я случайно сделал фиксацию в моем локальном репозитории. Я не толкал или не тянул, или что-то еще с момента совершения. Как мне отменить эту фиксацию и вернуть рабочую копию в состояние, которое было до совершения, поэтому я могу сделать то, что должен был сделать?Mercurial: как отменить последний разблокированный коммит?
Вы можете подозревать, что это дубликат, поэтому я объясню, почему следующие вопросы разные, или не ответили на мой вопрос:
Ответ на это один гласит, что вы можете сделать это с hg commit --amend
, но не объясняет , как или привести пример этого. Помощник Меркураила не говорит мне об этом.
How do you "rollback" last commit on Mercurial?
государства использовать hg rollback
. Эта команда, по-видимому, устарела, я все равно пытался ее использовать, но я получил сообщение: информация об откате отсутствует.. Позор, это не работает, поскольку это было бы действительно интуитивным способом достижения того, что я хочу.
Edit 1
Чтобы быть более конкретным, я совершил много изменений файлов, когда я действительно хочу им совершить по одному. Как мне вернуться, чтобы я мог это сделать?
1. JFYI '--keep' нужна только если вы изменили рабочий Dir и хотите, чтобы сохранить эти изменения. Если ты хочешь "...верните мою рабочую копию в состояние, которое было до фиксации », вы можете пропустить --keep 2.« Команда strip удаляет указанные изменения и все их потомки »- это ваше дело (удаление подсказки), это не имеет значения, но в общий случай индивидуальное удаление коммитов в середине истории может быть лучше с расширением 'histedit' –
Ну, чтобы вернуть рабочую копию в состояние, которое было незадолго до моего совершения, важно, чтобы вы использовали' --keep', иначе вы возвращаются к предыдущему фиксации и не возвращаются к состоянию, которое было непосредственно перед этим фиксацией. – crobar