考虑到一个非常基本的场景,在Git中我有3个分支,开发,分段和生产。我正在检查特定的Web服务器配置,每个环境都有硬编码的东西。例如,我有一个nginx.conf文件,其中包含一个硬编码的URL,具体取决于我正在构建的环境。
如果我在dev中更新配置文件,我必须手动复制/粘贴我所有的更改,并在新修改的dev和另一个分支之间区分文件。
什么是最好的权利,或者只是管理多个配置文件的最简单方法,所以我不必手动复制/粘贴Github?
您无需复制/粘贴。你只需要合并。
例如:
在分支开发:
nginx.conf
server = www.dev.mywebsite.com
在分支分期中:
nginx.conf
server = www.staging.mywebsite.com
在分公司生产:
nginx.conf
server = www.mywebsite.com
你在开发中添加一行:
nginx.conf
server = www.dev.mywebsite.com
newconf=new1
并作为commit-1提交
然后你可以切换到另外两个分支并从dev合并:其他两个看起来像:在分支分段中:
nginx.conf
server = www.staging.mywebsite.com
newconf=new1
在分公司生产:
nginx.conf
server = www.mywebsite.com
newconf=new1
您可以考虑为三个分支中的每个分支标记单独的配置文件,例如nginx_dev.conf
,nginx_stage.conf
和nginx_prod.conf
。在每个分支中工作时,只更新该分支的配置文件。当然,您在实际构建时使用的配置文件是nginx.conf
,因此您必须从其中一个分支文件进行复制。
虽然这并不能完全解决您的问题,但它至少可以减轻您在分支更改中手动编辑nginx.conf
文件的麻烦。