搜索保持配置文件分离的最佳方法,但不为新开发人员设置环境引入额外步骤。
我猜一个子模块就足以完成这项工作,但那么我将如何根据手头的任务无缝切换配置,也就是定期拉入DEV配置,在构建期间拉出配置仓库的PROD分支?
需要:
提前谢谢。
答案 0 :(得分:10)
这称为 content filter driver ,它允许您在.gitattributes
文件中声明(并且仅针对您的配置文件类型)涂抹脚本< / strong>在结帐时自动 :
config.tpl
)config.dev
,config.prod
,...)
请参阅“Customizing Git - Git Attributes”:
echo '*.cfg.tpl config' >> .gitattributes
git config --global filter.config.smudge yourScript
使用这种方法,您不需要子模块,但您可以根据您的环境生成所需的配置文件,例如您的分支:
有点像“Find Git branch name in post-update hook”,您的涂抹脚本可以找出它当前正在执行的分支:
#!/bin/sh
branch=$(git rev-parse --symbolic --abbrev-ref HEAD)