Ответ 1
Измените свое понимание области промежуточного уровня (также называемого индексом или кешем) и опцией --cached
. Документация для git rm
утверждает
--cached
Используйте этот параметр, чтобы отключить и удалить пути только из индекса. Файлы рабочих деревьев, независимо от того, модифицированы они или нет, будут оставлены в покое.
Запуск списка приводит к
-
rm file
- удалять файл только из рабочего каталога -
git rm
- удалить файл из рабочего каталога и из промежуточной области, но еще не включен в историю (репозиторий, "каталог фиксации" ) -
git rm --cached
- удалить из промежуточной области, но ни рабочий каталог, ни история -
git add .
при наличии модификаций, новых файлов и удаленных файлов - git будет записывать изменения и новые неузнанные файлы в кеше. (git add
будет вести себя по-разному с определенными опциями.)
Опция --cached
для различных команд git заставляет их работать с индексом или, по крайней мере, по отношению к индексу.
git add
и git rm
принимают изменения из рабочего каталога в индекс или кеш. Подумайте об этих командах как о том, как создать свою следующую команду за кусок за раз.
После того, как вы довольны тем, что в индексе, переместите изменения из индекса в репозиторий с помощью git commit
.
В большинстве случаев вам нужна простая последовательность git rm file
, за которой следует git commit
, чтобы остановить файл отслеживания в текущей точке вашей истории.