如何理解git中的快照?

git中的快照应该怎么理解?
每次修改提交的commit就是快照?

阅读 4.1k
1 个回答

快照顾名思义就是相当于一张照片,这个在git回滚的过程用得到,每次的commit就会形成一个id,这个id值就是你项目提交的快照,回滚的时候,找到这次id就能回滚到这次的commit的内容。下面详细解释回滚的过程。

初始化之后查看状态,文件都是未追踪状态
图片描述
提交一个文件之后再次查看状态
图片描述
将提交的这次操作commit
此时形成快照,git log之后生成一个唯一的commit的id值,这个id值是经过计算得出来的,是唯一的
图片描述
进行修改之后再次commit
图片描述
生成两个commit的id
每次新的快照会放到最上边
图片描述
用git reset的方式回滚
--hard回滚本地的仓库快照,覆盖暂存区工作区
--soft只会回滚本地仓库的快照,不会覆盖暂存区工作目录
--mixed(默认)回滚本地仓库的快照,并且覆盖暂存区,但是不覆盖工作目录
之后跟上要回滚到的commit的id前几位就可以了
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进