我们将 Gitflow 用于我们的 git 分支工作流程(通过 TFS)。 发布成功后,我们将执行以下操作
- 从发布 pull 请求到 master
- 从发布中 pull 请求进行开发
第 1 步创建提交(Merged PR XXX:Merge release to master)
第 2 步创建提交(Merged PR YYY:Merge release to develop)
当我查看我们的分支时,它说 develop 是 master 之后的一个提交。这是因为提交( merge PR:XXX)不在开发中。
从 master 简单地创建另一个 pull request 到 develop 是否正确(即使 pull request 没有变化)?
我在标准 Gitflow model 上看不到这个
最佳答案
这将是小说长度,所以我很抱歉。我提交的简短回答是,完成 git flow 发布应该导致 develop
成为 master
的提交 ahead 基于 git 如何流量启动器 Vincent Driessen实现了自己的 git-flow scripts .
什么...git-flow 脚本?
我不确定您对 git-flow
的体验,所以如果我说的很明显,请原谅我。 git-flow
规范有一组脚本来简化它的使用。 Git 流脚本随 Git for Windows 开箱即用,我假设您正在使用基于您的 TFS 引用。
最近“v2.1.0”版本的结果
让我们通过 Git Bash 检查最近发布的历史
$ git log --oneline --graph --decorate
哪个产量
在上图中你会注意到
- 文件上传功能已 merge 到开发中。在这一点上,我想 发布产品。
- 为了发布,我发布了
$ git flow release start v2.1.0
。 - “git flow release start ...”命令自动创建分支
发布/v2.1.0
。这个分支只包含一个提交——版本号的增加。 - 此时我已经测试并且对发布感到满意,所以我使用
$ git flow release finish -k
- “git flow release finish”命令将按顺序
- merge 分支
release/v2.1.0
到分支master
- 为 v2.1.0 版本创建带注释的标签
- 将分支
master
merge 到develop
以确保发布中的所有提交 分支重新开始开发下一个版本。
- merge 分支
但是如果我使用的是 TFS PR 呢?
如果您在工作流程中使用 TFS PR,当您准备好完成发布 PR 时,您可能会看到类似这样的内容。
在我的店里,我们也使用 PR,但我使用 $ git flow release finish -k
在本地 merge ,然后推送 master
和 develop
分支。 TFS 认识到发布分支已经被 merge ,并且会为您提供“关闭”而不是“完成”PR 的选项,如下所示。
关于发布后 Gitflow 在 master 后面开发分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51770160/