如何在暂存环境中使用 git flow?

Posted

技术标签:

【中文标题】如何在暂存环境中使用 git flow?【英文标题】:How do I use git flow with a staging environment? 【发布时间】:2013-04-07 22:06:10 【问题描述】:

我们正在使用 git-flow 来处理修补程序和功能,并带有一个开发分支和主分支(用于生产)。

向混合中添加临时分支的最简单方法是什么,以便我们可以验证从开发到生产的工作,同时仍然保持 git-flow 的有用性?

【问题讨论】:

【参考方案1】:

我会说 staging 应该基于 git flow release 分支。在 git flow release startgit flow release publish 之后,您可以在该分支上开始 QA 工作,包括将其部署到暂存区。当暂存区域中的 QA 工作已证明代码已准备好用于生产时,请在生产中部署并执行git flow release finish

如果您使用的是 TeamCity,您可以轻松设置服务器以检测新的远程发布分支并自动为其设置构建,see here。

【讨论】:

您建议为每个潜在版本使用不同的分支,而不是像总有一个开发和主分支一样,为“测试中的下一个版本”(暂存)设置一个专用分支? 是的,这将是标准的 git-flow 方式,afaik。您总是可以将分支命名为相同的,例如“分期”。但是当你 git flow release finish 时,正常使用 git-flow 会删除分支并在你 git flow release start 时重新创建它【参考方案2】:

我刚刚开始使用 git flow,但恕我直言,最简单的方法是将 下一个版本 设置为 dev 分支,生产版本 设置为 stage 分支,然后例如:手动与master 分支合并(你的真实生产)。

因此,如果您将版本 1.2.0 发布到 stage,然后在您的版本中发现错误(4 个修补程序,例如:在核心 CMS、功能 1、功能 3 和功能 4 中),那么您可以随时应用补丁,例如您可以结束升级到 1.2.4 版,然后最终将其合并到生产环境中。

更新:这种情况假设您没有回滚机制,因此您总是添加 提交以修复、发布功能或其他任何内容。如果您确实有回滚机制,那么您无需担心生产中的错误。就在您发现错误时,使用回滚来设置以前的工作版本。例如:如果您在版本 1.2.3 中发现错误,请返回版本 1.2.2。修复错误,在dev 上进行测试,然后在stage 上进行测试,并以版本1.2.4 推送到生产环境。所以你的作品将从1.2.2直接跳到1.2.4

【讨论】:

以上是关于如何在暂存环境中使用 git flow?的主要内容,如果未能解决你的问题,请参考以下文章

从 Rails 应用程序发送电子邮件时的 Net::SMTPAuthenticationError(在暂存环境中)

git stash暂存文件

在暂存文件上运行 eslint "ONLY"

git常用命令总结

“SyntaxError:Unexpected token ”当'yarn run build:production'在暂存时[重复]

强制 Rake 任务在特定的 Rails 环境中运行