目录
图解
标签
小圆点
分支关系
箭头
支线
分支
远程分支和本地分支
工作区,缓存区,提交记录
Soft、mixed、hard、keep之间的区别
soft只会改变head位置,不会改变工作区和缓存区(此时可以提交),只会改变head即当前分支的位置的位置,会产生分叉。
mixed会将分支回滚到修改之前
Hard和Keep
参考
图解
标签
黄色表示当前分支
绿色表示本地存在这个分支
紫色代表远端分支
黄绿紫代表这个各分支是当前分支,在本地,远端分支。
小圆点
仓库是一可追溯的文件集合,该文件的任意一个历史状态就是一个单位,一个小圆点,即一个commit对象。
分支关系
多个分支可以合并为一个新的历史节点。
eg:当前分支为master,合并a到master,a节点停滞,master节点产生一个新的历史变更状态(小节点)
箭头
折叠功能
根据箭头可以找到当前节点的上一个/下一个提交
支线
新建分支会出现支线。
因为开发需要新的特性,但是没有测试不能在当前分支上修改,所以需要从主 分支拉取新分支在新分支上修改,修改后,合并到主分支。
新分支commit差异,产生支线。
同一分支,不同仓库的commit差异,产生支线。
merge合并支线。
分支
分支是指向叶子节点的指针,每个节点都是一次历史状态变更。叶子节点可以理解为最新的历史状态变更。
远程分支和本地分支
远程分支和本地分支对应。
本地a分支push到master,a是master的子节点,master的修改a都有
本地a分支pull/fetch/merage--------master分支,a是master的父节点
工作区,缓存区,提交记录
工作区就是修改代码的地方
缓存区就是git add,rollback的地方
提交记录就是讲缓存区提交上去(不会通过工作区提交)
git提交是根据分支的hash值来计算分支有没有改变从而判定是否可以提交
Soft、mixed、hard、keep之间的区别
soft只会改变head位置,不会改变工作区和缓存区(此时可以提交),只会改变head即当前分支的位置的位置,会产生分叉。
此时,再提交一次
当前分支的hash值和远端不一样,产生新的分支
mixed会将分支回滚到修改之前
Hard和Keep
这两种回滚后会对工作区进行改变,回到开始的时候
soft和mixed修改缓存区,hard和keep修改工作区
————————————————
版权声明:本文为CSDN博主「李流星」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43759039/article/details/113274390