Какой самый простой способ работать с файлами конфигурации проекта?

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

  • конфиденциальной информацией (у каждого разработчика разные пароли к БД и т. Д.)
  • конкретной информацией о задаче (когда разработчик работает над определенной задачей, где нужно изменить некоторые настройки)

Очевидно, что конфиги нужно как-то игнорировать, чтобы не допустить наводнения данных разработчика в основном репозитории. Теперь есть несколько способов, которые я использовал, каждый с некоторыми недостатками:

  • .gitignore конфигурационные файлы
    • самый простой способ
    • , когда разработчик клонирует репозиторий, конфигурационный файл отсутствует, и нужно выяснить, где конфиги были воссозданы
  • конфигурационный файл не игнорируется. Он содержит фиктивную информацию, и каждый разработчик либо отключает отслеживание, и помещает ее в свой .git / info / exclude , либо устанавливает git update-index --assume-unchanged ... в файл
    • файлы доступны для всех, кто клонирует репо.
    • он содержит продвинутые методы, которые могут сбить с толку людей, впервые работающих с git
    • , когда кто-то случайно фиксирует файлы конфигурации, это не позволяет людям извлекать / fetch (поскольку исключения не работают так же, как .gitignore )
  • распространяют файлы конфигурации с суффиксом, например, _original , имея при этом реальные файлы в . gitignore . Затем каждый разработчик переименовывает файлы в настоящие имена.
    • файлы доступны для всех, кто клонирует репо
    • , нужно искать все конфиги по всему приложению и переименовывать их

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

72
задан Ondrej Slinták 21 July 2011 в 20:02
поделиться