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>

 

 

 

上一篇:返回多个类型的对象,Tuple


下一篇:mongodb内嵌文档的javaapi,增删改查