在 gitflow 中,如果我们有一个发布分支开放了一周,我们仍然可以将功能分支合并到开发中吗?

In gitflow if we have a release branch open for one week can we still merge feature branches into develop

在 gitflow 中,如果我们有一个发布分支开放了一周,我们是否仍然可以将功能分支合并到开发中。

我们有一个发布分支开放了一段时间,因为我们从开发中切断了发布分支并保持发布分支开放一周。但同时我们需要把东西合并回去开发。那是对的吗?或者我们应该暂时在另一个分支上做,或者发布分支不应该开放这么久?有什么想法吗?

一旦您从 develop 创建了一个发布分支,所有提交或合并到 develop 的内容基本上都是为下一个发布而准备的。

假设您当前的版本是 1.0(因此 master1.0 上)并且您已经在 develop 中实现了 1.1 的功能。然后您从 develop 分支 release 并将那里的版本号增加到 1.1。从此时起,对 develop 的所有更改都是针对版本 1.2 的。如果您需要为发布 1.1 修复内容,请在发布分支上进行。然而,它应该只是很小的,理想的抛光变化。 如果您担心这些更改可能会过多地干扰 1.2 的并行开发,同时在 develop 上进行,您也可以在开发和仍在开发的任何功能分支中引入这些更改.根据更改,您可以通过将 release 合并到 develop 或通过 cherry-picking 单个提交来实现。您可能想阅读 how to merge a specific commit in Git and also the differences in Git Cherry-pick vs Merge Workflow.

就我个人而言,在 release 的所有工作完成之前,将版本号从 release 更改合并到 develop 没有任何问题。我只是确保我的合并评论清楚地表明这不是最终合并,而是一些中间合并。

最后,请记住 git 流程只是帮助开发人员组织工作的一种措施。如果最终不符合团队内部工作流程,则不应每天都严格遵守它。

另见 Vincent Driessen's blog post that introduced git flow and a (slightly opinionated) comparison of different branching models by Atlassian