Устанавливает текущую головку репозитория Git на заданную фиксацию и, при необходимости, сбрасывает индекс и рабочее дерево в соответствии.

Если вы допустили ошибку в текущем рабочем дереве и не сделали этого, вы можете вернуть все рабочее дерево в последнее состояние фиксации со следующим:

$ git reset --hard HEAD

Сводка

git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]
git reset [-q] [<commit>] [--] <paths>...
git reset --patch [<commit>] [--] [<paths>...]

Функции

--mixed
Сбрасывает индекс, но не рабочее дерево (т.е. Измененные файлы сохраняются, но не помечены для фиксации) и сообщает, что не обновлено. Это действие по умолчанию.

--soft
Не касается файла индекса или рабочего дерева вообще, но требует, чтобы он находился в хорошем состоянии. Это оставляет все ваши измененные файлы "Изменения, которые необходимо совершить", как выразился статус git.

--hard
Соответствует рабочему дереву и индексу по отношению к дереву, к которому выполняется переход. Любые изменения в отслеживаемых файлах в рабочем дереве с <commit> теряются.

--merge
Сбрасывает индекс в соответствии с деревом, записанным с помощью именованного коммита, и обновляет файлы, которые отличаются от имени commit и текущей фиксации в рабочем дереве.

--keep
Reset индекс для данной фиксации, сохраняя локальные изменения в рабочем дереве с момента текущей фиксации, при обновлении рабочих файлов дерева без локальных изменений того, что появляется в данной фиксации. Если файл, который отличается от текущего фиксации и данного фиксации, имеет локальные изменения, reset прерывается.

-p, --patch
Интерактивно выбирайте ханки в разнице между индексом и <commit> (по умолчанию HEAD). Выбранные куски применяются в обратном порядке к индексу. Это означает, что git reset -p - это противоположность git add -p (см. ).

-q, --quiet
Будьте спокойны, только сообщайте об ошибках.

<commit>
Обязательно сделать текущую HEAD. Если не указано значение по умолчанию для HEAD.

См. также

Ссылка

$ git reset --help