Git Reset 三种模式

来自:https://www.jianshu.com/p/c2ec5f06cf1a

上面这篇文章总结的很到位,本质上reset是移动HEAD指针,他做了2件事情:
1、从某个commit移动到之前的某个cimmit节点
2、处理工作空间、暂存区、仓库这3处的变化

  • --soft:将指针移动之间的变化放进stage(清理提交记录可以使用一下)
  • --mixed:将指针移动之间的变化放进worktree,并且顺带把stage区的内容也放进worktree(后悔的时候)
  • --hard:将指针移动之间的变化、stage、worktree的内容统统扔掉(一般不用)

这张图片表的十分精准,红色箭头的尾部表示内容的起点,头部表示内容的去向,箭头身体部分所经过的地方会裹带这这部分内容一起行走,像滚雪球一样。这样理解就和上方理解一致了,下方我又进行了一步优化,更加形象。

posted @ 2020-12-28 11:08  神一样的存在  阅读(374)  评论(0编辑  收藏  举报