Git Flow是一套基于Git进行开发流程管理的框架,其精髓在于其流程可以使得多人协作时可以有效地配合项目流程进行源代码管理。下图是Git Flow流程发明者提出的流程:
分支可以分类两类,一类是主分支,有develop和master,可以分别对应dev环境和生产环境。另外一个是流程分支,有feature,release和hotfix。
develop分支: 开发分支,各种最新功能(feature)和最新的bug修复(hotfix)会合并进develop。稳定的新功能应该都要合并到develop分支。
master分支:主分支,生产环境运行主分支的代码,主分支强调稳定性。
feature分支:如果想开发一个新功能,则需要从develop分支的某个commit新建一个feature分支,完成开发的feature分支再merge回develop。所有merge回develop的feature都应该通过简单的自测。
release分支:当在某个节点完成feature开发时,需要对feature进行测试与发布时候,可以新建一个release分支,release分支可以对应测试环境,不应该在release分支上进行新功能开发,release分支仅仅应该进行功能验证与bug修复。release分支发布时,要双向merge到develop和master。
hotfix分支:当生产环境发现bug时,可以通过新建hotfix分支,来修复bug,修复后双向merge到develop和master。
参考:
http://nvie.com/posts/a-successful-git-branching-model/