#git
This question already has an answer here: Как вернуться (откатиться) к более раннему коммиту? (1 ответ) Закрыт 2 года назад. Значит такая ситуация, мне нужно было вернуться назад на несколько коммтов (git checkout v2.0 не создавая новую ветку), чтоб проверить что то в прошлой версии, потом я забыл про то, что откатился и сделал несколько изменений и закоммитил(git commit -m 'commit'), теперь думаю как вырезать этот последний коммит?
Ответы
Ответ 1
git revert [название коммита] - откатит изменения в виде следующего коммита. Т.е., создан коммит "Mistake", при использовании revert будет создан еще один коммит "Revert mistake".Ответ 2
Если вам ещё нужны изменения, выполненные в самой последней фиксации*, то восстановить её можно будет после переключения обратно на нужную ветку. Пока что нужно запомнить хэш этой фиксации командой git show --format=%H HEAD. Обозначим её вывод как $HASH. Затем просто переключитесь обратно, к предыдущей ветке с помощью git chechout -. Если вы попали не туда, куда требовалось, укажите вашу ветку в явном виде. Кроме того, вы можете увидеть подсказку от git с хэшем фиксации, откуда вы только что ушли, с предложением создать новую ветку, на неё указывающую. Затем примените ту самую фиксацию поверх нового состояния командой git cherry-pick $HASH. В результате этого, ваши изменения должны оказаться в нужной вам ветке. Это же описание, но в виде сценария оболочки. HASH=$(git show --format=%H HEAD) git checkout - git cherry-pick $HASH * перевод слова commit в контексте ИТ
Комментариев нет:
Отправить комментарий