发布后Gitflow在master后面开发分支

时间:2018-08-09 14:52:50

标签: git tfs git-branch tfs2013 git-flow

我们在git分支工作流程中使用Gitflow(通过TFS)。 发布成功后,我们将执行以下操作

  1. 从发布到主请求拉动
  2. 从发布中拉出请求以进行开发

步骤1创建一个提交(合并PR XXX:将发行版合并到主版本)

第2步创建一个提交(合并PR YYY:合并要开发的发行版)

当我看我们的分支机构时,它说开发是主人的一项承诺。这是因为提交(合并PR:XXX)不在开发中。

仅从主机创建另一个拉取请求以进行开发(即使拉取请求没有变化)是否正确?

我在标准Gitflow model上看不到这一点

3 个答案:

答案 0 :(得分:4)

这是小说的长度,所以我很抱歉。我要提交的简短答案是git flow发布的完成,应根据git flow管理员{{3}的方式,导致develop成为master ahead 提交}实现了自己的Vincent Driessen

什么... git-flow 脚本

我不确定您在git-flow方面的经历,因此请原谅我。 git-flow规范具有一组脚本,以使其易于使用。 Git flow脚本与Windows Git一起提供了开箱即用,我假设您是根据TFS参考使用的。

最近发布的“ v2.1.0”结果

让我们通过Git Bash检查最近发布的历史记录

$ git log --oneline --graph --decorate

屈服

git-flow scripts

在上图中,您会发现

  1. 文件上传功能已合并到开发中。在这一点上,我想 释放产品。
  2. 要发布,我发布了$ git flow release start v2.1.0
  3. “ git flow release start ...”命令自动创建的分支 release/v2.1.0。该分支仅包含一次提交-版本号增加。
  4. 至此,我已经测试过并对该版本感到满意,因此我使用 $ git flow release finish -k
  5. “ git flow释放完成”命令将按顺序
    • 将分支release/v2.1.0合并到分支master
    • 为版本v2.1.0创建带注释的标签
    • 将分支master合并到develop中,以确保发布中的所有提交 分支重新开始开发下一个版本。

但是,如果我使用的是TFS PR呢?

如果您在工作流程中使用TFS PR,当您准备好完成发行PR时,您可能会看到类似的内容。

Result of git flow release finish

在我的商店中,我们也使用PR,但是我使用$ git flow release finish -k在本地合并,然后推送masterdevelop分支。 TFS认识到release分支已经被合并,将为您提供“关闭”而不是“完成” PR的选项,如下所示。

enter image description here

答案 1 :(得分:0)

我从未做过您描述的额外合并(或曾加入过该团队)。我想您可以合并母版以进行开发,而不是如果您确实要合并发行版以进行开发-或者,至少,我无法想到会出错的任何事情...但是实际上, develop被“落后”怎么了?这基本上是gitflow IMO中的正常状态。

答案 2 :(得分:0)

在您的情况下,develop分支应该在master之后执行一次提交,而在master之后执行一次提交(由于Merged PR YYY)。如果您从master发起另一个开发请求,则develop分支将有另一个新提交(合并PR ZZZ),并且在master之前会有一个提交(是您想要的吗?)。

您可以从母版合并到开发,而不是从发行版创建到开发的Pull请求。