Бывает, что делаешь коммит — а потом понимаешь: накосячил или просто надо по-другому. В Git откатить лишнее — минутное дело. Главное — знать разницу между «откатить коммит, но оставить файлы» и «снести всё напрочь».
Держи минимальный разбор для реальных задач.
🔨 Откатить коммит, но сохранить изменения в файлах
Если коммит не нужен, а файлы пригодятся:
git reset HEAD~1
После этого изменения останутся в рабочей директории. Можно поправить — и закоммитить снова.
🧹 Полный откат — и коммита, и правок
Если накосячил так, что всё лишнее:
git reset --hard HEAD~1
Git просто выкинет коммит вместе со всеми файлами внутри него. Осторожно — откат безвозвратный.
🎯 Откат к конкретному коммиту
Можно прыгнуть на любой старый коммит по его хэшу:
git reset --hard 531ce399ac9a6bbd58f5f60b1dabdaf6747a321e
Всё после этого коммита исчезнет.
🔄 Отменить коммит без изменения истории
Если нужно отменить изменения, но оставить историю:
git revert <hash>
Git создаст новый коммит, который откатит старый. Без переписывания истории — удобно, если работаешь в команде.
⚠️ Будь осторожен
reset --hard убивает историю навсегда. Если работаешь не один — предупреждай команду и пушь с умом. Лучше сначала отрепетировать в отдельной ветке.
0 комментариев