当origin / develop超出我本地的development分支时,开始git flow发布

时间:2018-06-28 14:50:18

标签: git git-flow

这不时发生在我身上;我想从我的dev分支创建一个release分支,但是我已经从原始位置获取了最新的提交(未合并这些提交,只是获取了它们)。我的提交链如下所示:

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

我可以查看其他开发人员提交的“ d”提交,并且知道我不想将其包含在新发行版中,因此我将回购保持在“ c”提交状态,并尝试创建发行版科。我想要的是:

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,也不能定位要用作发行分支基础的提交。我在这里有什么选择?

谢谢, 丹

1 个答案:

答案 0 :(得分:1)

根据此处有关Git Flow的原始文章:

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

创建发行分支非常简单:

git checkout -b release-1.2 develop

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

因此,尽管git-flow扩展程序可能正在做某种意义上的检查,以确保开发的当前头部与原始远程主机上的内容匹配,但没有什么可以阻止您手动运行命令,而无需使用git-流扩展。

您应该能够执行以下操作:

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

在其中专门说明要从其开始分支的提交的阴影。

此SO问题对此进行了更详细的介绍:

Branch from a previous commit using Git