Git игнорировать удаленные файлы - PullRequest
14 голосов
/ 27 апреля 2010

У меня есть проект веб-сайта, который содержит более 50 000 неважных файлов (для разработки) в некоторых каталогах.

/website.com/files/1.txt
/website.com/files/2.txt
/website.com/files/3.txt
/website.com/files/etc.txt

Материал в / files уже находится в репо. Я хочу удалить все файлы в / files на моей локальной копии, но я хочу, чтобы git игнорировал это, чтобы он не удалял их, когда я выполняю операцию на веб-сервере.

Есть идеи?

Ответы [ 4 ]

10 голосов
/ 28 июля 2011

Игнорирование всего каталога не работает. Я должен был сделать это:

for i in `git status | grep deleted | awk '{print $3}'`; do git update-index --assume-unchanged $i; done
6 голосов
/ 11 августа 2010

Приведенный ниже код работает как с удаленными, так и с измененными файлами, чтобы игнорировать его, когда вы делаете git status .

 git update-index --assume-unchanged dir-im-removing/

или определенный файл

git update-index --assume-unchanged config/database.yml

Игнорировать измененные (но не зафиксированные) файлы в git?

Осторожно: приведенное выше предложение для удаленных файлов при выполнении « git commit -am » включает удаленный файл!

Решение, которое будет работать для меня, состоит в том, чтобы вместо удаления файла просто сделать его содержимое пустым. Это то, что я использовал для отключения файла .htaccess.

2 голосов
/ 27 апреля 2010

Создание суб-репо является одним из решений, но вы должны сделать этот суб-репо субмодулем .

Таким образом:

  • вы сохраняете связь между вашим обычным контентом и контентом 'files'
  • если контент 'files' эволюционирует однажды, вы можете зарегистрировать его эволюцию в главном репо
  • вы можете оформить свой основной репо без "git submodule update" (то есть без заполнения содержимого files
  • при развертывании, git submodule update после git submodule init будет достаточно для возврата правильной версии контента files.
1 голос
/ 27 апреля 2010

Хорошо, я нашел решение. Просто создайте новое хранилище в подкаталогах, и родительское хранилище проигнорирует их.

...