Можешь перечислить и объяснить различные вариации команды git reset?

Команда git reset используется для отмены изменений и перемещения указателя текущей ветки на другой коммит. Основные варианты:

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

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

Команда git reset используется для отмены изменений и перемещения указателя текущей ветки на другой коммит. Основные варианты:

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

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

Команда git reset используется для отмены изменений и перемещения указателя текущей ветки на другой коммит. Основные варианты:

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

Пример:

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

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

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

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

Подробнее