Ответ 1
Я бы рекомендовал использовать:
- конфигурационный файл шаблона (файл с именем переменной вместо значения узла и порта)
- a script может заменить эти имена переменных соответствующими значениями в зависимости от среды (обнаруженной script)
Решение Git представляет собой git драйвер фильтра атрибутов (см. также GitPro book).
Драйвер фильтра состоит из команды
clean
и командыsmudge
, любая из которых может быть оставлена неуказанной.
Наcheckout
, когда указана командаsmudge
, команда передает объект blob со своего стандартного ввода, а его стандартный вывод используется для обновления файла рабочей папки.
Аналогично, командаclean
используется для преобразования содержимого файла worktree при регистрации.
Таким образом, script (управляемый с помощью Git), на который ссылается smudge, может заменить все переменные значениями, зависящими от environement, в то время как чистый script восстановит его содержимое в нетронутом файле конфигурации.
Когда вы заказываете репозиторий Git в среде prod, процесс smudge будет создавать файл файл, подобный prod, в полученном рабочем дереве.