1. Случайно закоммитил не то и хочу откатиться
Ситуация: сделал коммит, понял, что рано.
Решение:
Убирает последний коммит, но оставляет изменения в staged — можно поправить и снова закоммитить.
2. Запушил коммит с багом, нужно отменить на сервере
Ситуация: баг ушёл в main, надо быстро отменить.
Решение:
Создаёт новый коммит, который отменяет изменения указанного. Без force-push, удобно в команде.
3. Нужно достать файл из старого коммита, но не откатывать всё
Ситуация: удалили/изменили важный файл, а он был раньше.
Решение:
Извлекает конкретный файл без изменения текущей ветки. Можно сохранить, сравнить, закоммитить.
Все три команды — незаменимые штуки в повседневной работе. Можно сохранить себе как Git-аптечку.
Ситуация: сделал коммит, понял, что рано.
Решение:
Код:
git reset --soft HEAD~1
2. Запушил коммит с багом, нужно отменить на сервере
Ситуация: баг ушёл в main, надо быстро отменить.
Решение:
Код:
git revert <hash>
3. Нужно достать файл из старого коммита, но не откатывать всё
Ситуация: удалили/изменили важный файл, а он был раньше.
Решение:
Код:
git checkout <commit_hash> -- путь/к/файлу
Все три команды — незаменимые штуки в повседневной работе. Можно сохранить себе как Git-аптечку.