这是我参与「第四届青训营 」笔记创作活动的第5天
上期我们已经实战过了如何在一个单一时间线进行版本回溯,这期我们正式进入分支的实战操作,来看一看这个神奇的分支功能如何在命令行中实现。
可以结合之前的理解层面的git分支笔记来看,这样可以加深记忆,便于领悟。
一、创建分支
还是以之前的temp目录下的hello.txt为例。我们右键调出git bash来打开命令行
注意到右边有一个蓝色小字master,这就代表当前状态下head指针指向的哪个分支。用之前的平行宇宙理解法,代表现在我们在哪个宇宙,在哪个时间线。
使用git branch命令来创建我们的分支,也就是创建一个时间线。
我们把这个分支命名为next。在命令后面加上名字就行。没有回复,经典的没有反应就是没有问题,就是成功
接下来可以使用git checkout next来切换当前head指针指向的分支。也就是跳转时间线,相当于去了一个别的宇宙。
这里有反馈了,别慌,反馈显示的内容是成功的。
注意,git branch命令如果后面不加参数,就是代表“查看当前分支”而不是创建分支了
绿色标出的是当前的“宇宙”,白色的是“平行宇宙”。同时当前分支前面还会加一个星号。
我们可以在next分支上提交文件。不会影响主分支。比如我们再修改一下hello.txt文件
一套comb提交文件进git仓库
此时我们切换回原来的宇宙,主分支master,来看看到底是不是两个宇宙:
用git checkout master来实现
切换成功
刚刚加的那句话已经没了。说明这两个宇宙真的“平行”,没有交集。
如果要有交集呢?怎么让他们产生联系呢?
那必然是可以的,平行宇宙法只是用来复制理解而已,事实上git的分支就是为了主分支而生的,最终都是要合并到一起的,不然对开发有什么意义呢。
我们用git merge命令来实现,命令后面跟上合并的分支名
合并完成,再看看txt文件
熟悉的话语又出现了。
之后就可以愉快地删掉我们地next分支了。命令行语句为:git branch -d next这里的next可以替换成你所要删除分支的名称。
小贴士,同上面-d来删除一样,git checkout可以加-b来实现创建切换同时进行,效果相当于git branch和git checkout两条命令
于此,分支就基本不在话下了吧~