我们在这里做Git流,但是现在我们需要在Git流开始之前创建一个修复分支。我们有一个在创建v906b03和develop分支之前的develop标记。在Git流启动后,我们还有v914和v915标记。
这方面的做法如下:
$ git checkout master
$ git reset --hard v906b03 #make sure that master "passed by" v906b03
$ git branch v906b03-hotfix
$ git merge v914 #this merge should be a fast-forward
$ git merge v915 #this merge should be a fast-forward现在,我得到的是与v914合并的递归合并。我试图找出在没有运气的情况下,v906b03提交是无法从v914获得的。我试过git log --oneline --not v914 v906b03,但它是空的。我也尝试过git log --oneline v914..v906b03,那应该是一样的,也是空的。
怎么一回事?
发布于 2015-10-09 15:58:05
我在http://git.661346.n2.nabble.com/git-merge-lt-tag-gt-behavior-td7580058.html上找到了一个引用,说明合并标记的默认行为是使用--no-ff作为合并选项。我甚至尝试过使用--ff但没有成功,但是使用commit哈希甚至git show-ref <tag>也能做到这一点。
发布于 2015-10-10 14:06:21
如果从v906b03合并到v914和v915只是一个快速转发,那么您可以立即在v915上创建您的v906b03-修补程序,而完全不合并。
另外,你为什么要把你的主人搬到v906b03?(重置-硬)
https://stackoverflow.com/questions/33042582
复制相似问题