图解

在这里插入图片描述

标签

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

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

小圆点

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

参考

Idea 中的 Git 操作看这一篇就够了

IDEA可视化Log理解Git仓库\历史状态\commit\分支

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

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐