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