oldratlee / translations

🐼 Chinese translations for classic software development resources
https://github.com/oldratlee/translations
Other
6.86k stars 1.56k forks source link

你好,想问下关于git flow的develop分支上的合并操作? #23

Closed Howld closed 8 years ago

Howld commented 8 years ago

workflow-gitflow.md#小红完成发布

在小红完成功能开发中,本地some-feature分支先是合并了远程develop分支,然后本地develop分支合并了本地some-feature分支之后提交,然后删除了本地some-feature分支。

  1. 远程是否存在some-feature分支?
  2. 那么在小红完成发布中,本地release-0.1分支是否应该在本地master分支合并完成之后,先合并来自远程develop分支的代码,然后本地develop分支合并本地release-0.1分支,然后提交?
oldratlee commented 8 years ago

1.远程是否存在some-feature分支?

开发过程中,可以把本地 feature分支 push到远程

2.那么在小红完成发布中,本地release-0.1分支是否应该在本地master分支合并完成之后,先合并来自远程develop分支的代码,然后本地develop分支合并本地release-0.1分支,然后提交?

完整类型的分支体现在:

上面的图主要 看的是 修改内容 在分支之间的流向(流向就是合并来完成),梳理就是:

总结一下,流向目标都是 develop/master,区别是 develop分支是面向开发的完整收集,而master是面向发布的完整收集。

你提到的分支类型是 release(release-0.1)、master、develop,梳理就是(上面完整梳理的一部分):

release => develop/master

理解这个过程 可以先不管分支是 远程 还是 本地。

要注意的是,在合并时,本地分支要和远程分支是一致的,即可(避免合并时丢了提交)。

Howld commented 8 years ago

我的意思是develop分支在开出release之后,有提交更新,那之后release分支要合并回来,是否应该先从develop分支合并新的提交?还是直接就合并回develop分支(感觉对合并不同分支,不是很理解)?

oldratlee commented 8 years ago

之后release分支要合并回develop,是否应该先从develop分支合并新的提交?还是直接就合并回develop分支?

对于develop分支,上面2种方式是一样的。

对于release(比如release-0.1)分支合并到master,打了tag后就可以删除,没有必要去合并develop分支。

感觉对合并不同分支,不是很理解

如果只是对 分支合并 不是很理解: 多做一下合并操作,多看看合并的出来的效果,多理解一下就好了 :)(要理解的是 合并操作后历史树的变化)

Gitflow本身比较复杂,理解合并操作,可以先从简单的工作流【集中式/功能分支工作流】开始。