前言
众所周知,前几天要考英语六级的没办法还是用了几天复习了一下英语(该死的六级,真难),然后就拖更了这一次做一次分支实战演练也算是巩固所学的知识,废话不多说开始咯~在演练之前先来思考几个小小的问题。
- 切换分支什么区域会发生变化?
1.HEAD文件内容会发生变化,因为HEAD文件里面是当前正在使用的分支。
2.暂存区内容发生变化,因为切换分支意味这你要在项目的某一个版本开发一个新的功能所以暂存区也会发生变化。
3.工作区内容发生变化,切换分支就是进行版本穿梭那工作区肯定会发生变化的。 - 如果工作区刚创建完一个新文件,或者说创建的文件已经加入暂存但是没有提交,然后切换分支会咋样?(直接上图演示吧~)
让我们开看看第二种情形。
通过上面我们可以看到这两种情形都是可以切换的,那么这样以后再进行开发的时候可能会遇到麻烦,比如我在Jc分支想实现一个功能还没来得及提交我就返回的master分支这样master分支就是多了文件,这样就会导致很多的错误。
如果我在Jc分支上four文件的暂存区我已经给提交了,那么切换到master分支后暂存区还会有four.txt吗?答案很显然是没有的,既然提交了那么就属于Jc分支了。
- 如果修改了Jc分支上面已经提交的four文件那还能切换分支吗?答案你猜~那肯定不让切换哈哈
通过上面的解析,我们以后再切换分支的时候一定定定要注意,要不然一失手成千古恨~不多说了直接进入今日的主题了!
一、分支实战
内容:假设你正在花式点灯(本人物联网工程学生只能用点灯打法举例了),突然你想把灯的开关显示再显示屏上面所以开了一个新分支来完成给功能,在修改的代码时候你突然发现以前的(master分支)代码有些问题需要修复,然后在创建一个分支修复完代码之后合并修改分支,将修改推送到线上分支,最后回到最初的分支继续工作。直接上图咯~
到这一个很简单的实战就演练完毕,不知道大家搞没搞懂关系没搞懂得,可以自己画一画图这样就很容易啦~~
总结:通过上面我们可以总结出分支的本质就是指向提交对象的可变指针,说的再仔细一点就是分支就是提交对象HEAD就是可变指针。分支自己不会动是HEAD指针带着分支向前移动。
二、 结尾
至此呢Git分支功能简易实战演练完毕,如果感觉有用可以点个赞的哦!我会持续更新,如果有错误还请指出来,感谢观众老爷的赏脸。
若想获得上述内容的PDF版本移步到GitHub下载。
地址: Git 学习笔记专区。
-----缱绻
我的所有笔记都在微信公众号里面也有,欢迎大家关注的哦~