使用git-flow时是否possible/desirable有'master'、'test'和'develop'分支?
Is it possible/desirable to have a 'master', 'test' and 'develop' branch when using git-flow?
我目前正在做一个项目,我们正在迁移到 Git。我们正在尝试找出要使用的工作流程。我们非常热衷于 git-flow,但有一个问题。
据我了解 git-flow,开发人员创建 feature
分支 develop
,一旦他们完成了特定的 feature
分支,代码就会合并进入 develop
。当我们要发布直播时,develop
然后合并到master
。在我们的例子中,develop
将是当前部署到我们的 Dev 环境的内容,而 master
将是当前 Live.这一切都很好。
事情
问题是在 Live 之前我们需要部署另一个环境,即。 测试。我们想要一个 test
分支,它将始终代表当前部署到 Test 的内容。
这是我们设想的工作方式:
- 开发人员在
feature
个分支中工作,这些分支合并到 develop
,然后部署到 Dev.
- 当我们准备提升到Test时,
develop
被合并到test
并被带到Test.
- 一旦在 Test 中签署了所有内容,我们将
test
合并到 master
并采用 Live .
我的问题
- 使用 git-flow 是否可行,如果可行,如何实现?
- 我们应该这样做吗?
- 还有什么办法可以做到这一点?
git-flow 具有 release
分支的概念,您可以将其用于该目的。
事实上,在git-flow中,develop
并不是简单地合并到master
中。您首先创建一个 release
分支,在其中准备实时版本、测试它并在最后一刻修复错误,然后再将其合并到 master
,即发布它。
当 release
关闭时,它也会合并回 develop
,因此您将在测试回主开发分支时完成所有修复。
Release branches support preparation of a new production release. They allow for last-minute dotting of i’s and crossing t’s. Furthermore, they allow for minor bug fixes and preparing meta-data for a release (version number, build dates, etc.).
我目前正在做一个项目,我们正在迁移到 Git。我们正在尝试找出要使用的工作流程。我们非常热衷于 git-flow,但有一个问题。
据我了解 git-flow,开发人员创建 feature
分支 develop
,一旦他们完成了特定的 feature
分支,代码就会合并进入 develop
。当我们要发布直播时,develop
然后合并到master
。在我们的例子中,develop
将是当前部署到我们的 Dev 环境的内容,而 master
将是当前 Live.这一切都很好。
事情
问题是在 Live 之前我们需要部署另一个环境,即。 测试。我们想要一个 test
分支,它将始终代表当前部署到 Test 的内容。
这是我们设想的工作方式:
- 开发人员在
feature
个分支中工作,这些分支合并到develop
,然后部署到 Dev. - 当我们准备提升到Test时,
develop
被合并到test
并被带到Test. - 一旦在 Test 中签署了所有内容,我们将
test
合并到master
并采用 Live .
我的问题
- 使用 git-flow 是否可行,如果可行,如何实现?
- 我们应该这样做吗?
- 还有什么办法可以做到这一点?
git-flow 具有 release
分支的概念,您可以将其用于该目的。
事实上,在git-flow中,develop
并不是简单地合并到master
中。您首先创建一个 release
分支,在其中准备实时版本、测试它并在最后一刻修复错误,然后再将其合并到 master
,即发布它。
当 release
关闭时,它也会合并回 develop
,因此您将在测试回主开发分支时完成所有修复。
Release branches support preparation of a new production release. They allow for last-minute dotting of i’s and crossing t’s. Furthermore, they allow for minor bug fixes and preparing meta-data for a release (version number, build dates, etc.).