Используя git, как вы сбрасываете рабочее дерево в состояние индекса? - PullRequest
59 голосов
/ 24 июня 2010

Ситуация:

  1. Редактирование файлов
  2. Добавление файлов в индекс
  3. Редактирование дополнительных файлов

Теперь у нас есть три разныхсостояния.Состояние HEAD, состояние индекса и состояние рабочего дерева.Какая команда отменяет изменения в рабочем дереве, чтобы оно соответствовало состоянию индекса?

Ответы [ 4 ]

67 голосов
/ 24 июня 2010

Я склонен использовать git checkout ., который отбрасывает все изменения из рабочего каталога вниз. Это имеет значение, если вы не в корне хранилища.

Эта команда не удаляет вновь созданные файлы, что обычно хорошо. Если вам нужно сделать это, вы также можете использовать git clean.

13 голосов
/ 24 июня 2010

Вы можете использовать git stash save --keep-index, чтобы сделать это. После сохранения тайника вы можете использовать git stash drop, если не хотите его хранить.

9 голосов
/ 24 июня 2010

Вы можете использовать git-checkout-index .Помните, что вам нужно добавить

  • -f, чтобы заставить его перезаписывать существующие файлы, или
  • -f -a, чтобы принудительно перезаписать все пути в индексе.
0 голосов
/ 28 ноября 2017

git checkout :/ отменяет все изменения в рабочем дереве и заменяет его на то, что находится в индексе, независимо от текущего рабочего каталога.

https://git -scm.com / docs / gitglossary #gitglossary-aiddefpathspecapathspec

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...