git reset может перемещать указатель ветки и изменять index или рабочее дерево; режим определяет, какие локальные изменения сохранятся.
Что делает git reset и какие у него режимы?
git reset может перемещать указатель ветки и изменять index или рабочее дерево; режим определяет, какие локальные изменения сохранятся.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
git reset может перемещать указатель ветки и изменять index или рабочее дерево; режим определяет, какие локальные изменения сохранятся.
--soft меняет HEAD, оставляя index и файлы; --mixed также сбрасывает index; --hard приводит и рабочее дерево к выбранному коммиту, уничтожая несохранённые изменения отслеживаемых файлов. В форме с путями reset меняет index без перемещения HEAD. Для отмены опубликованного коммита обычно предпочтительнее revert, сохраняющий общую историю.
Источник: git-scm.com.