Разработчик закоммитил и запушил кривой коммит в удалённый репозиторий. Как можно откатить этот коммит?

При использовании Git есть несколько способов:

Короткий ответ

Что ответить на собеседовании

При использовании Git есть несколько способов:

Подробный разбор

Ответ с пояснениями

При использовании Git есть несколько способов:

\1. Отменить последний коммит, сохраняя изменения:

git reset --soft HEAD~1
# Отменяет последний коммит, индексированные изменения остаются
# Рабочий каталог не изменяется

\2. Отменить последний коммит, отменяя индексированные изменения, но сохраняя рабочие:

git reset --mixed HEAD~1
# Отменяет последний коммит и отменяет индексацию изменений
# Рабочий каталог не изменяется

\3. Полностью отменить последний коммит, включая изменения:

git reset --hard HEAD~1
# Полностью отменяет последний коммит
# Индексированные изменения и рабочий каталог будут приведены в состояние до последнего коммита
# Все несохраненные изменения в рабочем каталоге будут потеряны

\4. Создать новый коммит, отменяющий изменения последнего:

git revert HEAD
# Создает новый коммит, отменяющий изменения последнего коммита
# История сохраняется, это безопасный способ при работе с публичными ветками

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее