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

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

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

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

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

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

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

Команда 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  # откат на один коммит назад с удалением изменений

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

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

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

Подробнее