Git Flow是使用Git的一套开发规范。在github上有一个基于Git Flow的命令行工具:git-flow,https://github.com/nvie/gitflow
开发规范笔记:
开发中用到的分支主要有:master
, develop
, feature-xxx
, release-x.x.x
, hot-fix
。
日常开发中,代码需要从
master
分支拉一条develop
,相对master
的神圣,develop
应该是所有人都能访问,但是我们一般也不会在develop
分支上直接提交代码,而是基于develop
拉出一条feature
分支,在这些特性分支上进行具体开发工作。当某一项特性功能开发接近尾声时,我们需要交付测试了,就从
develop
分支拉一条release
分支,比如release-1.0.0
,想此次feature
合并到release
分支上,随后将release
分支部署测试环境,测试工程师进行相关测试,开发工程师在该分支上修改bug。测试完毕后,我们需要把
release
分支部署到预发环境,验证没问题后,将release分支部署到线上环境。线上回归测试完毕后,将release
分支合并到develop
和master
分支上,并在master分支上打一个tag, 比如v1.0.0
。上线后,如果线上发现bug,需要从对应的tag上拉一个
hotfix
分支,并在该分支上进行bug修复,修复完毕后,hotfix
需要合并到develop
和master
分支上。
实际使用
映射到实际使用git-flow命令行工具
算了,明天再写吧~困死了。。。。