Git – это мощный инструмент, но иногда он превращается в машину разрушения,
особенно когда ты случайно удаляешь важные коммиты.
📝 В этой статье – самые полезные команды Git, которые помогут в критических ситуациях.
git reset --soft HEAD~1
Когда использовать?
🔹 Если ты случайно сделал коммит, но не хочешь терять изменения.
git reset --hard HEAD~1
Когда использовать?
🔹 Если коммит был ошибочным, и ты хочешь его полностью удалить.
git checkout <commit-hash> -- filename
Когда использовать?
🔹 Если ты случайно изменил или удалил файл и хочешь вернуть его версию из прошлого.
git bisect start
git bisect bad HEAD
git bisect good <last-known-good-commit>
Когда использовать?
🔹 Если код работал раньше, но теперь ломает прод – Git сам найдёт проблемный коммит.
git add перед коммитомgit reset HEAD <file>
Когда использовать?
🔹 Если ты случайно добавил лишний файл в git add, но коммит ещё не сделал.
git reflog
git reset --hard HEAD@{1}
Когда использовать?
🔹 Если ты сделал git reset --hard, но осознал, что это была ошибка.
git stash
git stash pop
Когда использовать?
🔹 Если тебе нужно временно убрать изменения, но потом их вернуть.
🛠 Отменить последний git push:
git push --force
⚠ Осторожно! Это затирает историю на сервере.
🛠 Удалить файл из последнего коммита:
git reset HEAD~1
git add .
git commit -m "Фикс без лишнего файла"
🛠 Создать новый бранч из старого коммита:
git checkout -b new-branch <commit-hash>
✔ Перед reset --hard используй git stash.
✔ Перед push --force сохраняй бэкап локально.
✔ Используй git reflog, чтобы восстановить историю коммитов.
Git – это сила, но только если знать, как им правильно пользоваться.
Следуй этим советам, и ты избежишь большинства катастроф.