Удалить файл из контроля версий git, не удаляя его из файловой системы


13

Как я могу удалить файл из дерева мерзавцев, не удаляя его?

Для git addнеотслеживаемого файла легко включить его в следующий коммит, однако я не могу найти, как удалить файл, чтобы он снова «не отслеживался» другим коммитом.

Ответы:


19

Легко. Просто используйте git rm --cachedфайл, который вы хотите удалить из кэша управления версиями, но не хотите удалять / удалять из вашей файловой системы. Так что, если вы хотите удалить foo.txtиз системы контроля версий, просто запустите эту команду:

git rm --cached foo.txt

Как объяснено в официальной git-rmдокументации Git :

--cached

Используйте эту опцию, чтобы удалять и удалять пути только из индекса. Файлы рабочего дерева, модифицированные или нет, будут оставлены в покое.


1
Ой ... Я слышал --cachedраньше, но думал, что это удалит файлы из индекса. Благодаря!
Дронус
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.