我正在尝试使用gitflow和bitbucket和sourcetree,有人能告诉我什么是最好的吗?保持开发和发布分支/标签始终是主分离或始终合并它?
我想让它们分开,但是当我推动bitbucket的分支部分时,只有一个主人,而合并的部分是其他部分,最好的方法是什么?以及如何使用sourcetree使用gitflow的最佳方式?
感谢。
EDIT。
以下是截图。
在本地就是这样
并且在bitbucket上是这样的:(主动显示只有master和develop才会合并)
这是对的吗?我真的不知道何时应该看到合并的分支以及我不应该在哪里。
答案 0 :(得分:3)
如果某个分支的头部可从master
,则该分支被视为“合并到master
”。
Reachable 意味着如果您从master
开始并在某个时刻通过其祖先向后跟踪每个提交,您就会找到您正在寻找的提交。
例如:
G [master]
/
A---B---C---D [branch-a]
\
E---F [branch-b]
此处,branch-a
可以从master
到达。从master
的头部开始(提交G
),然后转到D
的首席branch-a
。
相比之下,branch-b
<{1}}。如果您从master
向后追溯,则会得到master
,G
,D
,C
,B
。 <{1}}的头部(提交A
)未找到。
由于您目前只有一个提交,branch-b
和F
都指向它,develop
必须从master
到达,因此“合并”。
一旦您开始向develop
添加尚未加入master
的提交,develop
将不再显示为“已合并”。
修改强>
以下是Git Flow的常见场景。这是简化的;我没有展示功能或发布分支。
master
您正在处理develop
,其中包含三个提交A [master]
\
B---C---D [develop]
,develop
和B
,这些提交无法从C
访问。 D
未合并。
现在你决定做一个发布,产生类似
的东西master
develop
现已合并到A-----------E [master]
\ /
B---C---D [develop]
,因为我们可以从develop
(在提交master
处达到develop
(在提交D
) )。
现在你又开始工作了......
master
...并且E
不再合并。