Git:相同的文件在不同的分支上有所不同

时间:2015-07-29 11:41:18

标签: git github gitlab

我们为我们的应用程序分支master,edge,test,devl运行在四个网址prod.app.com,edge.app.com,test.app.com,devl.app.com

我们的工作流程是devl - >测试 - >边缘 - >主

目前,我们正面临一个问题,即某些配置会在所有分支上发生变化。我们有一些文件在4个分支上是不同的,例如站点网址,数据库设置等。所以我们如何通过git轻松管理这些文件。我们无法将其添加到Git中,因为我们无法经常访问Web服务器以直接在Web服务器中进行更改。

此外,我们还有大约14个配置文件(用于14种不同的语言),这些配置文件也经常更改代码,因此我们无法忽略这些文件。此外,我们无法合并此link中指定的文件,因为存在更改,我们需要将这些更改推送到服务器

所以目前当我们需要更改边缘配置时,我们正在改变devl的配置,然后分支推送到测试然后再到边缘。所以在这个过程中我们的devl和测试将会失效,所以请告诉我们我们可以实现的最佳方法。

1 个答案:

答案 0 :(得分:1)

使用git cherry-pick,您可以将相同的补丁应用于所有分支。

如果您的devel分支都是主分支的子代,那么您也可以仅将更改应用于master,然后将git rebase其他分支应用到更新的master。

但我个人不会将这些配置与其他来源保持在一起。将它们添加到.gitignore。您仍然可以创建另一个仅包含配置文件的项目。