Добавить в корзинуПозвонить
Найти в Дзене
HTML Academy

Пояснение

⬇️ git reset --soft HEAD~1 сдвигает указатель текущей ветки на один коммит назад, индекс и рабочую директорию не трогает. Все изменения из снятого коммита остаются в индексе и готовы к новому git commit. Этот сценарий безопасен только до пуша — на общей ветке --soft потребует force-push и расстроит коллег. Флаг --hard тоже сдвинет указатель, но заодно приведёт индекс и рабочую директорию в состояние целевого коммита, и текущие изменения будут потеряны. Хотя снятые коммиты ещё около 90 дней доступны через git reflog. А git revert HEAD решает задачу иначе: создаёт новый коммит, который отменяет последний, оставляя оба в истории. Для уже запушенного коммита — именно этот вариант.

Пояснение ⬇️

git reset --soft HEAD~1 сдвигает указатель текущей ветки на один коммит назад, индекс и рабочую директорию не трогает. Все изменения из снятого коммита остаются в индексе и готовы к новому git commit. Этот сценарий безопасен только до пуша — на общей ветке --soft потребует force-push и расстроит коллег. Флаг --hard тоже сдвинет указатель, но заодно приведёт индекс и рабочую директорию в состояние целевого коммита, и текущие изменения будут потеряны. Хотя снятые коммиты ещё около 90 дней доступны через git reflog. А git revert HEAD решает задачу иначе: создаёт новый коммит, который отменяет последний, оставляя оба в истории. Для уже запушенного коммита — именно этот вариант.