Как игнорировать файлы, которые есть в репозитории? - PullRequest
83 голосов
/ 29 августа 2011

У меня есть файл (config.php), который уже передан в репозиторий Git, но я хочу игнорировать его локально, т.е. я хочу, чтобы этот файл оставался в репозитории, но заставляю Git игнорировать любые изменения в нем.

Я поместил файл в .gitignore, но он все еще помечен как измененный, и Git все еще пытается зафиксировать изменения в нем, каждый раз, когда я что-то фиксирую. Есть идеи, что я упускаю или делаю неправильно?

Ответы [ 4 ]

174 голосов
/ 29 августа 2011

Если файл по-прежнему отображается в состоянии, даже если он находится в .gitignore, убедитесь, что он еще не отслежен.

git rm --cached config.php

Если вы просто хотите игнорировать его локально, вы также можете сделать так, чтобы он игнорировался статусом git:

git update-index --assume-unchanged config.php
3 голосов
/ 28 марта 2019

Игнорировать отмеченные в файле:

git update-index --assume-unchanged file

Чтобы вернуться

git update-index --no-assume-unchanged file

Вернуть все

git update-index --really-refresh 
3 голосов
/ 29 августа 2011

Если файл уже находится в репозитории и, следовательно, в области Index / Staging, то обновление .gitignore не изменит эту ситуацию - оно будет зафиксировано.

Чтобы удалить файл изИндекс / Область подготовки используют git rm <file>.

0 голосов
/ 29 августа 2011

Если файл указан в .gitignore, его нельзя изменить.

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

Обычно я делю файл на два, один из которых разрешен, и я могу его изменить, включая второй файл, если он существует, тогда разработчики могут вносить изменения в конфигурацию игнорируемого файла.

...