更新时间:2022年08月23日16时59分 来源:传智教育 浏览次数:
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。如果两个平行宇宙互不干扰,那对现在的你也没啥影响。
不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!
在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发,例如:
在初始化本地Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做master的分支。通常我们把这个master 分支叫做主分支。
在实际工作中,master 主分支的作用是:用来保存和记录整个项目已完成的功能代码。因此,不允许程序员直接在master 分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。
由于程序员不能直接在master 分支上进行功能的开发,所以就有了功能分支的概念。
功能分支指的是专门用来开发新功能的分支,它是临时从master 主分支上分叉出来的,当新功能开发且测试完毕后,最终需要合并到master 主分支上,如图所示:
使用如下的命令,可以查看当前Git 仓库中所有的分支列表:
运行的结果如下所示:
注意:分支名字前面的*号表示当前所处的分支。
使用如下的命令,可以基于当前分支,创建一个新的分支,此时,新分支中的代码和当前分支完全一样:
图示如下:
使用如下的命令,可以切换到指定的分支上进行开发:
图示如下:
使用如下的命令,可以创建指定名称的新分支,并立即切换到新分支上:
图示如下:
图示如下:
注意:
"git checkout -b 分支名称" 是下面两条命令的简写形式:
①git branch 分支名称
②git checkout 分支名称
功能分支的代码开发测试完毕之后,可以使用如下的命令,将完成后的代码合并到master 主分支上:
图示如下:
合并分支时的注意点:
假设要把C 分支的代码合并到A 分支,则必须先切换到A 分支上,再运行git merge 命令,来合并C 分支!
当把功能分支的代码合并到master 主分支上以后,就可以使用如下的命令,删除对应的功能分支:
图示如下:
如果在两个不同的分支中,对同一个文件进行了不同的修改,Git 就没法干净的合并它们。此时,我们需要打开这些包含冲突的文件然后手动解决冲突。