Sobes.tech
Back to questions
Junior — Middle
68

Какие существуют методы отмены или отката изменений после коммита в системе контроля версий Git?

Companies where asked
AstonAston

Answer from AI

sobes.tech AI

В Git существуют несколько способов отмены или отката изменений после коммита:

  • git revert <commit> — создаёт новый коммит, который отменяет изменения указанного коммита. Безопасен для публичных веток.

  • git reset — перемещает указатель ветки на другой коммит:

    • git reset --soft <commit> — откатывает коммиты, оставляя изменения в индексе (staging area).
    • git reset --mixed <commit> — откатывает коммиты, изменения остаются в рабочей директории, но убираются из индекса.
    • git reset --hard <commit> — откатывает коммиты и удаляет все изменения из индекса и рабочей директории (опасно, данные могут быть потеряны).
  • git checkout или git restore — для отмены изменений в файлах до коммита.

Выбор метода зависит от того, нужно ли сохранить историю (использовать revert) или можно переписать историю (reset), а также от того, опубликован ли коммит в общий репозиторий.