在上一篇中,我们学会了如何提交修改到仓库,这一篇文章,我们来看看如何使用分支(branch)。
分支是Git最强大的功能之一,它可以让你毫无顾虑的开发一个新功能或者进行多人的协作开发。通过分支,同时并行开发多个功能,或者多人同时为一个项目进行开发,最后再合并到一条主线,互不干扰,非常方便。熟练掌握分支,可以让你的开发如虎添翼。
什么是分支?
简单来说,分支就是一个可以移动的指针,指向git仓库的某一次提交。默认情况下,git指向的分支名是master,也就是那个主线。每当Git仓库里进行一次提交时,指向master的指针就会向前一步。但是如果你创建了一个分支,那么你就可以在分支上继续移动这个指针,但是主线的master分支并不会被修改,也不会影响其他分支。在开发完成之后,再把其他的分支合并到master的主线分支上就可以了。 这种机制使得分支的创建和切换异常轻量,瞬间完成,也使开发工作或多人协作变得更加简单。
分支的操作
查看分支:git branch
在开始操作之前,我们可以先看看仓库里有哪些分支。使用git branch命令可以查看所有本地分支。并且当前的分支名前会有一个*。
创建分支:git branch 分支名
这个命令可以创建一个新的分支。运行命令之后(将分支名称替换为你喜欢的名字)再次使用git branch命令查看的话就会看到两个分支,一个就是刚刚创建的。
切换分支:git checkout 分支名
切换分支的命令,切换之后,再次使用git branch命令查看,就会发现*号移动到了刚刚切换的那个分支名字前面去了。
创建并切换分支:git checkout -b 分支名
这是一个高频的操作,创建分支并立即切换过去。实际上可以用刚刚那两个命令,先创建,再切换过去,但是这样会更方便,也不会由于自己忘记切换到分支导致提交错误。
合并分支(必须在要合并到的主分支下才可以操作):git merge 分支名
这是合并分支的命令。假设我们在一个分支上的工作做完了,使用这个命令可以将我们刚刚开发的东西直接合并到主分支上。
这里需要强调一个问题:如果你希望把刚刚开发一个新功能的分支合并到master主分支下,那么你必须先将分支切换到master,再进行合并,否则合并会发生错误或者合并到了其他地方。
删除分支(不能删除当前所在的分支,需要先切换到其他分支)):git branch -d 分支名
当我们将分支合并过去之后就可以将这个分支删除掉了,使用git branch -d 分支名命令可以将这个分支删除掉。
解决冲突
在分支进行开发,合并时,会出现的问题就是解决分支冲突的问题。
什么叫分支冲突呢? 比如说现在主分支上或者任意的其他分支上有一个文件被修改了,在另一个分支上也有一个相同的文件被修改了,而且修改的是同一个内容,但是修改的结果不一样。这时候分支并不知道如何合并,该采用哪一个版本进行合并,所以就会产生分支冲突问题。
碰到这种问题,Git终端会给我们提示告诉我们哪个文件哪一行冲突了,我们只需要打开文件,手动解决冲突,然后执行 git add 将文件标记为已解决,最后 git commit 完成合并。
以上就是关于 Git 分支操作的全部基础内容了。分支是 Git 的精髓所在,多加练习就能熟练掌握。如果你在操作过程中遇到任何问题,或者有不同的见解,欢迎在评论区留言交流,我们一起进步!



