Sobes.tech
Back to questions
Junior — Middle
124

Можете объяснить, что делает команда Git reset и в каких сценариях ее используют?

Companies where asked
AndersenAndersen

Answer from AI

sobes.tech AI

Команда git reset используется для отмены изменений и перемещения указателя текущей ветки (HEAD) на другой коммит. Она может изменять состояние индекса (staging area) и рабочего каталога в зависимости от параметров.

Основные варианты:

  • git reset --soft <commit> — перемещает HEAD на указанный коммит, оставляя изменения в индексе и рабочем каталоге. Используется, чтобы отменить коммиты, но сохранить изменения для повторного коммита.

  • git reset --mixed <commit> (по умолчанию) — перемещает HEAD и сбрасывает индекс, но изменения остаются в рабочем каталоге. Позволяет отменить коммиты и убрать изменения из индекса.

  • git reset --hard <commit> — перемещает HEAD, сбрасывает индекс и рабочий каталог, полностью удаляя все изменения после указанного коммита.

Сценарии использования:

  • Отмена последних коммитов.
  • Удаление изменений из индекса.
  • Полный откат к предыдущему состоянию.

Пример:

git reset --hard HEAD~1  # откат на один коммит назад с удалением изменений