git 当 origin/develop 领先于我的本地开发分支时,流程发布开始

git flow release start when origin/develop is ahead of my local develop branch

这种情况时常发生在我身上;我想从我的开发分支创建一个发布分支,但我已经从原点获取了最新的提交(不是合并提交,只是获取它们)。我的提交链可能如下所示:

a--b--c(develop, HEAD)--d(origin/develop)

我可以查看另一个开发人员所做的 "d" 提交,并且知道我不想将它包含在新版本中,所以我在 "c" 提交时检查了我的 repo并尝试创建一个发布分支。我想要的是:

a--b--c(develop)--d(origin/develop)
       \
        --e(release/1.1,HEAD)

但是当我运行git flow release start 1.1时,它失败了:

Branches 'develop' and 'origin/develop' have diverged.
Fatal: And branch 'develop' may be fast-forwarded.

据我所知,我不能将 git flow release start 强制为 create the release branch,或者将哪个提交用作发布分支的基础。我在这里有什么选择?

谢谢, 旦

根据Git上的原文章流到这里:

https://nvie.com/posts/a-successful-git-branching-model/

创建发布分支非常简单:

git checkout -b release-1.2 develop

即当前开发分支的一个简单分支。

因此,虽然 git-flow 扩展可能会进行一些意义检查,以确保您的 develop 的当前头部与您的 origin 遥控器上的内容相匹配,但没有什么可以手动阻止您 运行 命令,而不是使用 git-flow 扩展。

您应该可以执行以下操作:

git checkout -b release/1.1 <sha1-of-commit>

你在哪里具体说明你想从中开始分支的提交的 sha。

这个 SO 问题对此有更详细的介绍:

Branch from a previous commit using Git