Как игнорировать файлы, которые находятся в репозитории?
У меня есть файл (config.php), который уже передан в репозиторий Git, но я хочу игнорировать локально, т. е. я хочу, чтобы этот файл оставался в репозитории, но заставлял Git игнорировать любые изменения в нем.
Я положил файл внутрь .gitignore, но он по-прежнему помечен как измененный, и Git все еще пытается внести в него изменения, каждый раз, когда я что-то совершаю. Есть идеи, что я упускаю или делаю неправильно?
3 ответа:
Если файл все еще отображается в состоянии, даже если он находится в состоянии .gitignore, убедитесь, что он еще не отслежен.
git rm --cached config.php
Если вы просто хотите игнорировать его локально, вы также можете сделать его игнорируемым статусом git:
git update-index --assume-unchanged config.php
если файл уже находится в репозитории и, следовательно, в индексе/промежуточной области, то обновление .gitignore не изменит эту ситуацию-она будет продолжать быть совершенной.
для удаления файла из индекса / промежуточной области используйте
git rm <file>
.
после того, как файл отображается в .gitignore вы не можете изменить его.
таким образом, вы можете удалить файл из списка в одной фиксации, зафиксировать изменения в следующей, а затем повторно добавить файл в список игнорирования в третьей фиксации.
то, что я обычно делаю, это разделить файл на два, один из которых разрешен, и я могу изменить, который включает в себя второй файл, если он существует, то разработчики могут вносить изменения конфигурации в игнорируемый файл необязательно.