Описание тега git-reset
Если вы допустили ошибку в текущем рабочем дереве и не зафиксировали, вы можете вернуть все рабочее дерево в состояние последней фиксации с помощью следующего:
$ 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 status.
--hard
Соответствует рабочему дереву и индексу дереву, на которое выполняется переключение. Любые изменения отслеживаемых файлов в рабочем дереве с<commit>
потеряны.
--merge
Сбрасывает индекс в соответствии с деревом, записанным именованной фиксацией, и обновляет файлы, которые отличаются между именованной фиксацией и текущей фиксацией в рабочем дереве.
--keep
Сбросить индекс на данную фиксацию, сохраняя локальные изменения в рабочем дереве с момента текущей фиксации, при обновлении файлов рабочего дерева без локальных изменений того, что появляется в данной фиксации. Если файл, который отличается между текущей фиксацией и данной фиксацией, имеет локальные изменения, сброс прерывается.
-p
, --patch
Интерактивно выбирать блоки разницы между индексом и <commit>
(по умолчанию HEAD). Выбранные блоки применяются к индексу в обратном порядке. Это означает, что git reset -p противоположен git add -p (см. Git -add).
-q
, --quiet
Молчи, сообщай только об ошибках.
<commit>
Зафиксируйте, чтобы сделать текущий HEAD. Если не указан, по умолчанию используется HEAD.
Смотрите также
Ссылка
$ git reset --help