Используя git, как сбросить рабочее дерево в состояние индекса?
ситуация:
- редактировать файлы
- добавить файлы в индекс
- Изменить дополнительные файлы
теперь у нас есть три разных государств. Состояние головки, состояние индекса и состояние рабочего дерева. Какая команда отменяет изменения в рабочем дереве, чтобы оно соответствовало состоянию индекса?
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