![](/img/trans.png)
[英]Develop branch is behind after merging into master using Gitlab MR
[英]Gitflow develop branch behind master after a release
我们将 Gitflow 用于我们的 git 分支工作流程(通过 TFS)。 当发布成功时,我们执行以下操作
第 1 步创建提交(Merged PR XXX: Merge release to master)
第 2 步创建提交(Merged PR YYY:Merge release to develop)
当我查看我们的分支时,它说 develop 是 master 之后的一次提交。 这是因为提交(合并 PR:XXX)不在开发阶段。
简单地从master创建另一个pull request到develop(即使pull request没有变化)是正确的程序吗?
我在标准Gitflow 模型上看不到这个
这将是虚构的长度,所以我道歉。 答案很简单,我提交是一个git流释放的完成应该导致develop
是一个犯提前 master
基于Git的流动origniator如何文森Driessen的实现自己的混帐流脚本 。
我不确定你对git-flow
体验,如果我说明显git-flow
,请原谅我。 git-flow
规范有一组脚本,可以更轻松地使用它。 Git流脚本开箱即用Git for Windows ,我假设你正在使用基于你的TFS参考。
让我们通过Git Bash查看最近发布的历史记录
$ git log --oneline --graph --decorate
哪个
在上图中你会注意到
$ git flow release start v2.1.0
。 release/v2.1.0
。 此分支仅包含一个提交 - 版本号的增加。 $ git flow release finish -k
完成它 release/v2.1.0
合并到分支master
master
合并到develop
以确保发布分支中的所有提交都返回到下一版本的开发中。 如果您在工作流程中使用TFS PR,那么当您准备完成发布PR时,您可能会看到类似的内容。
在我的商店,我们也使用PR,但是我使用$ git flow release finish -k
在本地合并,然后推送master
并develop
分支。 TFS识别出已经合并了发布分支,并且可以选择“关闭”而不是“完成”PR,如下所示。
我从来没有完成你描述的额外合并(或者是在一个团队中)。 我想你可以合并master来开发而不是合并发布,如果你真的想要开发 - 或者,至少,我想不出任何会出错的东西......但是真的, develop
成为“背后的错误” “? 这基本上是gitflow IMO的正常状态。
在您的场景中,开发分支应该在master之后有一个提交,并且一个提交在master之前(由于Merged PR YYY)。 如果你从master创建另一个pull请求来开发,那么develop分支将有另一个新的提交(Merged PR ZZZ),它将有一个提前提交master(它是你想要的吗?)。
您可以从主服务器开发到开发,而不是从发布版本开始创建Pull请求。
TL;DR:你应该将发布标签(或主)反向合并到开发中,而不是将发布分支反向合并到开发中,这与原始文章和大多数流行来源所说的相反,因为git describe
存在问题
在原始文章及其作者 Vincent Driessen aka nvie 的git 扩展中,命令是:
git merge --no-ff $RELEASE_BRANCH
但是这种行为导致git describe
出现问题,因此打开了一个PR ,改为执行以下命令:
git merge --no-ff $TAGNAME
(或者,如果他们没有标签, git merge --no-ff master
)
Vincent Driessen批准了这一变化,但显然从未有时间将其正式化。
然后,由于它的扩展缺乏积极的支持,它的分支gitflow-avh开始了,实现了新的行为,并成为了新的标准(例如 Windows 和 Ubuntu 上的默认值)。
所以,总而言之, git flow release finish
的行为应该是这样的:
git checkout master
git merge --no-ff $RELEASE_BRANCH
git tag -a $TAGNAME
git checkout develop
git merge --no-ff $TAGNAME
git branch -d $RELEASE_BRANCH
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.