Бывает так: закоммитил что-то, а потом понял — рано. Или забыл что-то добавить. Но при этом не хочется терять сделанные изменения.
Вот простейшее спасение:
git reset --soft HEAD~1
📌 Что делает эта команда:
-
HEAD~1 — это предыдущий коммит.-
--soft — откатывает коммит, но оставляет все изменения в индексe (staged).Если хочешь оставить изменения в рабочем каталоге, но убрать из индекса, используй
--mixed:
git reset --mixed HEAD~1
И наконец, если нужно просто убрать коммит, но не потерять код, и он уже пушнут:
git revert <hash>
Это создаст новый коммит, который отменяет изменения предыдущего.
📓 Полезно, если работаешь в команде и пушить force нельзя.
🔔@lifeproger