如果你想成为一个健壮的程序员,那么你一定要使用代码管理工具,而大神linus创造的git(饭桶)是首选的代码管理工作(没有之一)。下面要介绍的是我个人的分支管理使用方式:
git分支有三种,分别是开发分支、稳定分支和临时分支。
- 开发分支
- 稳定分支
- 临时分支
一、开发分支
因为习惯在master分支下提交代码,所以使用master为开发分支。
二、稳定分支
所有程序的发布,都是在stable分支上进行发布的。每成功发布一次,在对应版本上打上tag。
理论上不会在稳定分支上进行任何开发。stable分支上的代码都是从其他分支合并过来的。
三、临时分支
临时分支分为功能分支、预发布分支和修复bug分支。
1.功能分支
第一种是功能分支,拉取此分支的一个目的是为了保持开发分支的相对稳定,甚至达到随时可以交付的程度。因为在开发新的功能点时,或者对系统进行重构时,代码会进入一个严重不稳定状态。
创建一个功能分支并切换到该分支
git checkout -b feature-new master
开发完成后,将分支上的代码合入开发分支
git checkout master
git merge --no-ff feature-new # 使用--no-ff会在合并分支时,生成一条合并记录。
合并完成后,删除功能分支
git branch -d feature-new
170504新增
当功能分支开发完成后,为了避免将功能分支直接合入开发分支,产生过多冲突,合并后代码不稳定。可以选择先将master分支的修改合入功能分支,待功能分支上合并冲突测试稳定后再合入master分支。
2.预发布分支
第二种是预发布分支。在将开发分支中的信息合入稳定分支之前,需要一个预发布版本进行测试。
创建一个预发布分支
git checkout -b pre-stable-v1.05.0201 master
测试完成后,进入stable分支,将预发布分支合入
git checkout stable
git merge --no-ff pre-stable-v1.05.0201
对合并生成的新节点,打一个标签
git tag -a stable-v1.05.0201
然后,进入master分支,将预发布分支合入(测试过程中可能会修改代码)
git checkout master
git merge --no-ff pre-stable-v1.05.0201
删除预发布分支
git branch -d pre-stable-v1.05.0201
3.修复bug分支
第三种是修复bug分支。在稳定分支上难免会出现bug,此时需要在稳定分支上拉取bug修复分支进行bug修复。
git checkout stable
git checkout -b fixbug-v1.05.0201 stable
修复bug后,合入stable分支
git checkout stable
git merge --no-ff fixbug-v1.05.0201
合入开发分支master
git checkout master
git merge --no-ff fixbug-v1.05.0201
最后,删除修复bug分支
git branch -d bugfix-v1.05.0201
PS:
1.如果是github上的开源项目,请使用master为稳定分支,另起一个develop分支。
2.参考:git分支管理策略