Git удалить файл из хранилища, но оставить его в файловой системе - PullRequest
28 голосов
/ 29 сентября 2011

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

Я пытался подписаться

git filter-branch --index-filter "git rm --cached --ignore-unmatch file_to_remove" HEAD

но это удалило файл из файловой системы, что нежелательно.

Ответы [ 3 ]

37 голосов
/ 29 сентября 2011

Просто:

git rm --cached file [file ...]

Конечно, вам нужно убедиться, что файлы с ошибками добавлены в ваш .gitignore, чтобы они не были немедленно переданы

1 голос
/ 29 сентября 2011

Если вы хотите сохранить файл в хранилище, вы можете использовать:
git update-index --assume-unchanged <fileName>

Сохраняет текущую версию файла в индексе, но вы можете изменить ее по своему усмотрению, и git игнорирует эти изменения.

0 голосов
/ 30 декабря 2015

Оформить заказ и запустить git clean для каждой ветви.

git-clean - удаление неотслеживаемых файлов из рабочего дерева

Очищает рабочее дерево путем рекурсивного удаления файлов, не находящихся под контролем версий, начиная с текущего каталога.

https://git -scm.com / Docs / ГИТ-чистый

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...