如何在Git中管理多个分支上的配置文件?

问题描述 投票:0回答:2

考虑到一个非常基本的场景,在Git中我有3个分支,开发,分段和生产。我正在检查特定的Web服务器配置,每个环境都有硬编码的东西。例如,我有一个nginx.conf文件,其中包含一个硬编码的URL,具体取决于我正在构建的环境。

  • 比如在nginx.conf的开发分支中,我有www.dev.mywebsite.com
  • 在分期我有www.staging.mywebsite.com
  • 在生产中我有www.mywebsite.com

如果我在dev中更新配置文件,我必须手动复制/粘贴我所有的更改,并在新修改的dev和另一个分支之间区分文件。

什么是最好的权利,或者只是管理多个配置文件的最简单方法,所以我不必手动复制/粘贴Github?

github configuration-files
2个回答
0
投票

您无需复制/粘贴。你只需要合并。

例如:

在分支开发:

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

0
投票

您可以考虑为三个分支中的每个分支标记单独的配置文件,例如nginx_dev.confnginx_stage.confnginx_prod.conf。在每个分支中工作时,只更新该分支的配置文件。当然,您在实际构建时使用的配置文件是nginx.conf,因此您必须从其中一个分支文件进行复制。

虽然这并不能完全解决您的问题,但它至少可以减轻您在分支更改中手动编辑nginx.conf文件的麻烦。

© www.soinside.com 2019 - 2024. All rights reserved.