PRO

Что делает git revert и чем отличается от git reset?

git revert создаёт новый коммит, который отменяет изменения другого коммита. git reset двигает указатель ветки назад и может менять staging area и рабочую директорию, поэтому его нужно использовать осторожнее.
Подробный ответ

git revert

git revert не удаляет историю, а создаёт новый коммит с обратными изменениями. Это удобный и безопасный способ отменить уже опубликованный коммит.

git revert HEAD

git reset

git reset перемещает текущую ветку на другой коммит. В зависимости от режима он может также изменить staging area и файлы в рабочей директории.

git reset --hard HEAD~1

Главная разница

revert безопаснее для общей истории, потому что ничего не переписывает. reset сильнее меняет историю и чаще используется локально, пока коммиты ещё не отправлены в общий репозиторий.

Как ответить на собеседовании

git revert отменяет изменения через новый коммит, а git reset двигает указатель ветки назад и может переписать локальную историю. Для публичной истории я выбираю revert, а reset использую осторожно и в основном локально.

Оцени свой прогресс

Честно оцени своё понимание этого вопроса, чтобы мы могли построить твой учебный трек максимально эффективно.
Читать в блоге