git 基础2

1 创建与合并分支

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

      2 当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev

   3 Git创建一个分支很快,因为除了增加一个dev指针,改改HEAD的指向,工作区的文件都没有任何变化!

  4 假如我们在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就完成了合并

     5 合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支

     6 

创建dev分支,然后切换到dev分支:

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

    git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

  $ git branch dev
  $ git checkout devgit branch命令查看当前分支git branch命令会列出所有分支,当前分支前面会标一个*号。

dev分支的工作完成,我们就可以切换回master分支:

$ git checkout master

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

$ git merge dev  相当于将将 dev分支合并到  maset分支git merge命令用于合并指定分支到当前分支

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

$ git branch -d dev

我们注意到切换分支使用git checkout <branch>,而前面讲过的撤销修改则是git checkout -- <file>,同一个命令,有两种作用,确实有点令人迷惑。

实际上,切换分支这个动作,用switch更科学。因此,最新版本的Git提供了新的git switch命令来切换分支

创建并切换到新的dev分支,可以使用:

$ git switch -c dev

直接切换到已有的master分支,可以使用:

$ git switch master

使用新的git switch命令,比git checkout要更容易理解。

小结

Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>或者git switch <name>

创建+切换分支:git checkout -b <name>或者git switch -c <name>

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

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

2   解决冲突

 

相关推荐