Git学习04 --分支管理

Posted zqlmmd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

 

 

 

 

以上是关于Git学习04 --分支管理的主要内容,如果未能解决你的问题,请参考以下文章

Git----分支管理之分支管理策略04

git学习-分支管理

Git----分支管理之bug分支04

Git学习笔记分支管理

git学习记录——分支管理和多人协作

谈谈 Git 分支管理的本质