Используя git, как сбросить рабочее дерево в состояние индекса?


ситуация:

  1. редактировать файлы
  2. добавить файлы в индекс
  3. Изменить дополнительные файлы

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

4 53

4 ответа:

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

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

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

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

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

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

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