Как игнорировать файлы, которые находятся в репозитории?


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

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

3 70

3 ответа:

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

git rm --cached config.php

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

git update-index --assume-unchanged config.php

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

для удаления файла из индекса / промежуточной области используйте git rm <file>.

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

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

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