在git flow中从哪个分支制作生产包

时间:2014-12-20 10:53:38

标签: git atlassian-sourcetree git-flow

我们正在团队中使用git flow atm,我们会继续回答一个问题。

从哪个分支部署到生产部门?

如果您创建了一个发布分支,并在测试环境中对其进行测试,那么采用相同的构建并将其部署到生产中是有意义的。但是,如果我理解git正确发光,你应该做的是首先将发布分支合并到master中(创建一个带有版本号的标记),然后将一个新的构建从master分支部署到生产。这也是有道理的,因为我们的构建系统会将最后一次提交SHA从分支附加到版本号,因此我们可以轻松找到当前版本的版本,并且该标记对应于当前部署的代码。

现在我知道发布分支和主分支的代码库应该是1:1完全相同,但事实是你正在将未经测试的软件包部署到生产中,这使得团队中的一些人有点紧张:P

所以我想我会在这里问一下,你认为最好的方法是什么?

figure 1

2 个答案:

答案 0 :(得分:0)

红圈中的代码应该相同。主服务器只能通过合并进行更改,此时没有任何内容尚未到达发布分支。如果它们不同(在合并之后),则表明存在流程问题。

那就是说,根据我的理解,分支的想法是你总是从主人那里释放出来。 0.2版本将来自哪里,否则?

答案 1 :(得分:0)

在该图中,我将发布分支合并为master后,将从master部署到生产。

如果这样做会让团队中的一些人感到紧张,我会建议这可能是由于对git如何处理合并的误解。使用以下命令将release分支合并到master中时:

git co master
git merge release-branch

两个分支中的代码将完全相同。如果您想亲自检查一下,可以运行git diff release-branch并查看任何差异。