Ответ
Есть несколько способов, выбор зависит от того, был ли коммит уже отправлен в удалённый репозиторий.
1. Отмена локального коммита (ещё не отправлен в origin)
git reset --soft HEAD~1— отменяет коммит, но оставляет все изменения в индексе (staged). Позволяет сразу сделать новый коммит.git reset --mixed HEAD~1(опция по умолчанию) — отменяет коммит, оставляет изменения в рабочей директории, но не в индексе. Нужно будет снова добавить файлы черезgit add.git reset --hard HEAD~1— полностью удаляет коммит и все связанные с ним изменения в рабочей директории. Использовать с осторожностью.
2. Отмена уже отправленного коммита (push) Лучше создать новый коммит, отменяющий изменения, чтобы не переписывать историю, с которой работают другие.
git revert HEAD— создаёт новый коммит, который инвертирует изменения последнего коммита. Это безопасный способ для публичной ветки.git push origin <branch_name>— затем отправляем этот новый коммит-отмену.
Пример безопасной отмены отправленного коммита:
# Создаём коммит, отменяющий изменения последнего коммита
git revert HEAD
# Вводим сообщение для коммита revert и сохраняем
# Отправляем изменения в удалённый репозиторий
git push origin main