Очень распространено иметь хотя бы один файл конфигурации в любом проекте. Каждый раз, когда я делюсь проектом с git
, у меня такая же проблема:
- конфиденциальная информация (у каждого разработчика есть разные пароли БД и т.д.)
- специфическая для задачи информация (когда разработчик работает над определенной задачей, где нужно изменить некоторые настройки)
Очевидно, что configs нужно как-то игнорировать, чтобы предотвратить специфические данные разработчика для заливки основного репозитория. Теперь я использовал несколько способов, каждый из которых имел некоторые недостатки:
-
.gitignore
файлы конфигурации- самый простой способ
- когда разработчик клонирует репо, файл конфигурации отсутствует, и нужно выяснить, где были обновлены конфигурации.
- Конфигурационный файл не игнорируется. В нем содержится какая-то фиктивная информация, и каждый разработчик либо не обращает внимания, либо ставит ее в свой
.git/info/exclude
или устанавливаетgit update-index --assume-unchanged ...
в файл- файлы доступны для всех, кто клонирует репо
- он содержит передовые методы, которые могут смутить людей, которые работают с git в первый раз
- когда кто-то случайно создает конфигурационные файлы, он не позволит людям тянуть/извлекать (поскольку исключение не работает так же, как
.gitignore
)
- распространять файлы конфигурации, суффиксные, например,
_original
, имея реальные файлы в.gitignore
. Затем каждый разработчик переименовывает файлы в реальные имена- файлы доступны для всех, кто клонирует репо
- нужно искать все конфиги по всему приложению и переименовывать их
Есть ли другие, возможно, лучшие способы справиться с этим? Я подозреваю, что я что-то пропустил, по крайней мере, плагин.