【发布时间】:2017-03-12 01:17:09
【问题描述】:
这是一个让我困惑了很长时间的问题,因为我找不到好的和或多或少通用的解决方案。
假设有两个可用的 git 分支,production 和 dev;每个任务都使用自己的可配置参数来完成某些任务(即凭据、构建路径、测试/部署脚本切换等)。两个分支的同一时间实现脚本和代码是通用的。
现在,问题出现了 - 如何以所需的方式在 git 存储库中维护特定于分支的配置。一种常见的解决方案是在 git 中使用“模板”配置文件,符号链接并忽略特定分支的具体内容,例如
$ cat .gitignore | grep conf
/concrete.conf
$ ls -l *.conf
lrwxrwxrwx 1 1000 100 12 Oct 29 10:23 concrete.conf -> generic.conf
-rw-r--r-- 1 1000 100 0 Oct 29 10:16 generic.conf
接下来在开发框上打破和调整concrete.conf。但这不是我所追求的解决方案。
我的要求(好的,愿望)是:
- 支持每个 git 分支单独的配置文件,并且
- 同时保留由 git 管理的特定于分支的配置文件
有可能吗?可能是(实际上,更喜欢由其他人提供文件,但它不相关......)
到目前为止,我想到的最好的方法是使用合并后挂钩从 git 忽略的其他来源调整每个分支的配置per se,但它从一开始就很臭.
对所描述的问题的解决方案有什么建议吗?
PS:*nix 特定建议(即使用符号链接/硬链接)建议绝对没问题,我确实对 M$ 目标感兴趣
【问题讨论】:
标签: linux git version-control configuration