分支管理
创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。(摘自www.liaoxuefeng.com的git教程)
前景提要
笔者仍然在我的gittest仓库里进行,对于仓库请详见前序的文章或者个人学习git的系列文章
在Git里,master分支是主分支。HEAD严格来说不是指向提交,而是指向master分支,master分支才是指向提交的。
新建名为mybranching的分支,在mybranching上的工作完成了,就可以把mybranching合并到master上。Git怎么合并呢?最简单的方法,就是直接把master指向mybranching的当前提交,就完成了合并
分支策略
照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
所以,团队合作的分支看起来就像这样:最大的master分支下在创建一个dev分支于其并行。每个人自己建立自己的分支完成工作在更新dev分支,然后最后在实现
分支类型及其是否推送
- master分支是主分支,因此要时刻与远程同步;
- dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
- bug分支只用于在本地修复bug,就没必要推到远程了,除非需要强行记录修复的bug;
- feature分支是否推到远程,取决于团队合作在上面开发。
创建新分支
$ git checkout -b mybranching
或者是下面二命令
$ git branch mybranching
$ git checkout mybranching
git checkout命令加上-b参数表示创建并切换到本仓库的mybranching分支,当返回以下信息表示创建完成和切换:Switched to a new branch ‘mybranching’
查看仓库已有的分支
$ git branch
切换到其他分支
$ git checkout master
分支合并到master里
$ git merge mybranching
删除分支
$ git branch -d mybranching
显示如下信息表示完成删除:Deleted branch mybranching (was f04f5fc).
**注意:要删除一个分支的时候,需要先把当前工作所在分支切换到其他分支里面,否则没法删除分支,会报如下错误(无法删除mybranching分支,请查看工作区):error: Cannot delete branch ‘mybranching’ checked out at ‘D:/summer-test/gittest’
**