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