前言
本篇博客记录git的杀手级功能,分支管理。
所谓分支,可以简单理解为一个并发的过程,最终可以合并到一条线上。可以简单理解为相同的时间做了多份的事情,效率加倍。
其次,有了分支的存在,我们可以在对主线分支不影响的操作下,创建新分支进行修改从而大大增加安全性,这在生产环境上十分实用。
当然,目前的介绍都是基于git的本地仓库下。
上一篇Git学习记录文章:
目录
一、理解Git分支
如何理解git下的分支呢?
可以发现,我们之前的操作就是建立在上面的情况下的。
HEAD指针默认指向master,而master指向就是我们初始化本地Git仓库时默认创建的一条分支的最新一条记录。 是的,master指向的也是一条分支,分支按照提交修改先后记录为Git对象,master里面保存着最新的一个记录的commit-id。
那么我们创建一个分支是怎么回事呢?
可以发现,我们有了分支管理后,可以在master目前的时间节点上,继承其git对象,并且创建独立于master的分支的dev分支。
dev里同样存储着dev分支的最新一次提交,和master互相独立,并不影响。而此时HEAD指向的哪个节点表示对应分支是否当前主机上的工作分支。
这里只是简单介绍以下分支管理的理解,后续我们结合操作,对Git分支管理进一步的加深理解。
二、分支操作
场景描述:在本地仓库的工作区中存在file1、file2、file3、ReadMe(存在两行内容)文件。并且均以提交被Git版本管理了起来。
1.创建分支
在当前的状态下,我们可以创建一个dev分支,和默认的master分支进行区分。
命令:git branch 分支名
根据分支名,创建对应分支。
在.git文件下的refs/heads下创建对应分支文件,内部保存当前时间点的git文件。
创建完分支后,我们可以对当前仓库的所有分支进行查看:
命令:git branch
对当前仓库下的所有分支进行查看。
*表示当前的工作的分支(即add、commit操作影响的分支)
对于.git文件中创建的dev文件也可以进行验证:
那么如何切换工作分支呢?
2.切换分支
命令:git checkout 分支名