Git教程学习(四)

12. 分支管理场景

多人协同工作时,你在优化代码X,需要较长时间才能完成,未完成之前会影响整体代码的使用.于是写完的代码不能提交到版本库,提交就会影响别人使用整体的代码.不提交你就失去了git的版本管理功能.

于是需要分支,为你正在修改的代码建立分支,别人看不到.而你在自己的分支上工作,最后完成再合并到原来的分支

13. 创建与合并分支

13.1. 场景

在Git中,版本控制是靠指针.每个分支都有一个专用的指针.同时有一个HEAD指针指向主版本.实现的时候HEAD指针实际上是指向分支指针的,再由分支指针指向分支.每次有commit就相当于有了新的分支版本.但是一个分支的不同版本只有一个分支指针.

建立新分支其实就是新建了一个分支指针X并把HEAD指向这个分支指针,这样你的修改就都在这个分支上而不会影响主版本A的修改.

在完成修改之后再把分支X和原主版本A合并

13.2. 创建新分支

$ git checkout -b dev
Switched to a new branch 'dev'

相当于
$ git branch dev
$ git checkout dev
Switched to branch 'dev'

13.3. 查看所有分支(其中*对应的就是HEAD指向的当前版本

$ git branch
* dev
  master

这时修改文件,add commit之后修改的就是生成了dev分支的新版本.不会影响master

13.4. 切换分支

$ git checkout master
Switched to branch 'master'

将当前分支变成master,dev依然存在

13.5 合并dev与master

$ git merge dev
Updating d17efd8..fec145a
Fast-forward
 readme.txt |    1 +
 1 file changed, 1 insertion(+)

将dev与当前HEAD指向的版本库合并.目测这种合并是选择了两个分支中最新的内容.

13.6. 删除分支

$ git branch -d dev
Deleted branch dev (was fec145a).

 

posted on 2015-07-04 11:41  york_hust  阅读(153)  评论(0编辑  收藏  举报