Как лучше всего решить эту проблему, зависит от ваших инструментов сборки, но общий принцип заключается в том, что локальные значения конфигурации не должны быть в вашем репо - и это включает в себя рабочее дерево, если вы не можете использовать .gitignore
для их обхода (что, поскольку разделение файла не является опцией, вы не можете сделать это напрямую).
Как правило, это означает, что вы извлекаете исходную структуру, в которой файл свойств является просто шаблоном с заполнителями для локально определенных значений
database.url=$DBURL
error.message=Some message
Конечно, вы не можете запустить это напрямую.Ваш инструмент сборки объединяет этот шаблон с локально сохраненным файлом свойств (который находится вне рабочего дерева или равен .gitignore
d) для создания файла реальных свойств (который сам по себе также находится вне рабочего дерева git или * 1008).* г).
Опять же, есть много вариантов этого.Если у вас уже есть значительный процесс сборки, который генерирует много новых файлов (например, проект Java, или интерфейсный проект, который связан и / или минифицирован, и т. Д.), Тогда это может быть так же просто, как наличие целевого каталога для сборкиотдельно от рабочего дерева, которое зарегистрировано (например, согласно типичной структуре проекта Maven).Или, если вы хотите выполнить рабочее дерево на месте, то файл, который вы регистрируете, может иметь имя my.properties.template
, а процесс сборки может генерировать my.properties
, поэтому вы .gitignore
my.properties
.