idea git log git轨迹图 学习笔记

图解

标签

黄色表示当前分支 绿色表示本地存在这个分支 紫色代表远端分支

黄绿紫代表这个各分支是当前分支,在本地,远端分支。

小圆点

仓库是一可追溯的文件集合,该文件的任意一个历史状态就是一个单位,一个小圆点,即一个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修改工作区

参考

因为水平不足,整理笔记可能出现错误,仅供参考。

经验分享 程序员 微信小程序 职场和发展