У меня есть README.md в моем локальном репозитории git. Локальный репозиторий git ничего не поставил и ничего не изменилось в рабочем дереве. См. Ниже:
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
Затем я запустил git rm --cached -- README.md
, он говорит следующее:
$ git rm --cached -- README.md
rm 'README.md'
В соответствии с git help rm
:
- кэшировать
Используйте эту опцию для исключения и удаления путей только из индекса. Файлы рабочих деревьев, независимо от того, модифицированы они или нет, будут оставлены в покое.
В README.md нет ступенчатых изменений. Таким образом, промежуточная область/индекс не должна содержать ничего. Почему он все еще удален?
ADD1
На основании ответа @DietrichEpp:
Государства существуют в 3-х местах как git:
- рабочее дерево
- Индекс
- репо
Git решает, что un-tracked
или un-staged
путем сравнения 1 и 2;
Git решает, что to-be-commited
путем сравнения 2 и 3;
git reset
может использоваться для изменения состояния в 1 и/или 2.