4

我目前正在开展一个项目,我们正在迁移到 Git。我们正在尝试找出要使用的工作流程。我们非常热衷于 git-flow,但有一个问题。

据我了解 git-flow,开发人员创建feature分支develop,一旦完成特定feature分支,代码就会合并到develop. 当我们要释放住时,develop再合并到master. 在我们的例子中,develop将是当前部署到我们的开发环境的内容,而master将是当前Live的内容。这一切都很好。

事情

问题是我们需要在Live之前部署另一个环境,即。测试。我们希望有一个test始终代表当前部署到Test的分支。

这就是我们设想的工作方式:

  1. 开发人员在feature分支中工作,这些分支合并到develop中,然后部署到Dev
  2. 当我们准备好升级到Test时,develop被合并到testTest
  3. 一旦在Test中签收所有内容,我们就会合并testLive中。master

我的问题

  1. 这对 git-flow 是否可行,如果可以,如何?
  2. 我们甚至应该这样做吗?
  3. 还有什么办法可以做到这一点?
4

1 回答 1

3

git-flow 具有release可用于该目的的分支的概念。

事实是,在 git-flow 中,develop并没有简单地合并到master. 您首先创建一个release分支,在其中为实时版本做准备,对其进行测试,并在最后一分钟修复错误,然后再将其合并到master,即实时发布。

当 arelease关闭时,它也会合并回develop,因此您将在测试回主开发分支时完成所有修复。

发布分支支持准备新的生产版本。它们允许在最后一分钟点 i 和交叉 t。此外,它们允许修复小错误并为发布准备元数据(版本号、构建日期等)。

一个成功的 Git 分支模型 » nvie.com

于 2015-05-06T09:16:49.510 回答