2016/09/17
如何使用Git合理的规划项目从开始到结束,用自己的烂笔头加深一下印象。
主分支master
repo
初始化的分支是master
,这个分支自动创建,有且仅有一个,这个分支用来发布正式版本。
项目负责人首先再这个分支上做的工作是项目基本结构搭建。比如文件目录规划等,俗称脚手架
。
在这个分支上只允许改动脚手架
代码。
开发分支dev
这个分支用来项目日常开发。
搭建完成之后,提交至Git
服务器(这里一般都是公司内网的Gitlab
),然后基于master
分支建立开发分支dev
并进入该分支,此时master
和dev
代码是一样的
$ git checkout -b dev master
功能分支features
这个分支用来开发项目中的不同功能点。
dev
分支这个时候不动,如果项目组人员少,每个人负责的开发任务可能很多,这个时候如果以一个个的功能点来新建features
分支,后期合并操作挺繁琐的,所以我觉得以成员来新建features
分支会较好。
比如现在项目组除了负责人,有成员张三
和李四
,那么这两个人在dev
分支上新建自己的分支
$ git checkout -b zhangsan dev
$ git checkout -b lisi dev
预发布分支release
这个分支是预发布分支,一般用在QA环境。
项目本期所以功能全部开发完成之后,由项目负责人在dev
分支上合并所有的features
分支(有冲突,解决冲突,再提交),删除features
分支,提交dev
$ git checkout dev
$ git merge --no-ff zhangsan
$ git branch -d zhangsan
$ git push origin dev
--no-ff 可以让被合并的分支的提交记录在合并的分支上体现
合并完所有features
分支之后,基于dev
创建预发布分支,分支名上写上预发布版本号
$ git checkout -b release-1.0 dev
预发布版本测试通过之后,合并到master
并打上tag
$ git checkout master
$ git merge --no-ff release-1.0
$ git tag -a 1.0
再合并到dev
上
$ git checkout dev
$ git merge --no-ff release-1.0
删除预发布分支
$ git branch -d release-1.0
修补分支hotfix
线上的如果出现了问题,我们在master
上分离出hotfix
分支,分支名写好修复版本号
$ git checkout hotfix-0.1 master
分支修复完毕,合并到master
和dev
,打上修复的tag
$ git checkout master
$ git merge -no-ff hotfix-0.1
$ git tag -a 0.1
$ git checkout dev
$ git merge --no-ff hotfix-0.1
删除hotfix
分支
$ git branch -d hotfix-0.1
网友评论