Git学习04 --分支管理

  每次commit,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交的,所以,HEAD指向的就是当前分支

一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点。每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长。

当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上。从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变。

使用:

    1.首先,我们创建dev分支,然后切换到dev分支:

      git checkout -b dev   表示创建并切换到dev分支。相当于:

      $ git branch dev
      $ git checkout dev

 

zhangqulideMacBook-Air:git_test zhangquli$ git checkout -b dev
M	a.txt
D	b.txt
Switched to a new branch 'dev'

 

 2.用git branch命令查看当前分支:

 

zhangqulideMacBook-Air:git_test zhangquli$ git branch
* dev
  master

 3.进行修改

zhangqulideMacBook-Air:git_test zhangquli$ git add a.txt
zhangqulideMacBook-Air:git_test zhangquli$ git commit -m "modify a.txt in branch dev"

 4.切换回master分支:

zhangqulideMacBook-Air:git_test zhangquli$ git checkout master
D	b.txt
Switched to branch 'master'
zhangqulideMacBook-Air:git_test zhangquli$ git branch
  dev
* master

 5.把dev分支的工作成果合并到master分支上:

 

zhangqulideMacBook-Air:git_test zhangquli$ git merge dev
Updating 62998d0..facc9ef
Fast-forward
 a.txt | 2 ++
 1 file changed, 2 insertions(+)

 6.合并完成后,就可以放心地删除dev分支了: 

 

zhangqulideMacBook-Air:git_test zhangquli$ git branch -d dev
Deleted branch dev (was facc9ef).

 7.总结

Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

 

 

 

 

posted @ 2016-05-30 11:11  zqlmmd  阅读(262)  评论(0编辑  收藏  举报