Git 分支管理
1、Git的分支管理
git的所有分支之间彼此独立,互不干扰,各自完成各自的工作和内容。常用的分支管理命令如下所示:
查看分支: git branch
创建分支: git branch <name>
切换分支: git checkout <name>
创建+切换分支: git checkout -b <name>
合并某分支到当前分支: git merge <name>
删除分支: git branch -d <name>
2、查看当前所在的分支
> git branch
* master
可以看到当前的分支叫 "master"
2.1、master分支
从项目创建之初,有且唯一的分支就是主分支,主分支被叫做 master。git 的 master 分支并不是一个特殊分支,它就跟其它分支完全没有区别。之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建。
2.2、HEAD指针
我们知道,一个项目往往有很多个分支,Git 是怎么知道当前所处在哪一个分支上呢?答案很简单,Git 有一个名为 HEAD 的特殊指针,指向当前所在的本地分支。其实,我们可以将 HEAD 想象为当前分支的别名,这样更有助于理解。
3、创建新分支
在实际开发过程中,master分支主要用于代码的发布,另外,我们经常还需要创建dev分支和bugfix分支,前者用于开发,后者用于bug修改。创建新分支的命令是:git branch <name>
,具体如下所示:
> git branch dev
> git branch bugfix
4、切换分支
> git checkout dev
5、合并分支
当dev分支切换回master主分支的时候,可以将dev的修改提交合并到master分支上,使用如下命令:
> git merge dev
5.1、冲突的发生和解决
当同一个文件被两个分支都修改过,想要合并两个分支就会产生冲突,不能快速将dev合并到master上,并且git会提醒“合并过程中产生了冲突,请修正后再提交”。修正的过程如下所示:
(1)将两个分支的文件,进行对比修改,满足两个分支的提交。
(2)使用 git add 和git commit 进行一次新的提交。(此时提交的是master分支)
(3)再次合并
6、删除分支
当dev分支工作完成,并且合并到master分支的时候,这时dev分支可以直接删除,如下所示:
> git breach -d dev