博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

代码回滚:Reset、Checkout、Revert的选择

Posted on 2018-05-22 21:29  激流勇进、  阅读(304)  评论(0编辑  收藏  举报

 

代码回滚:Reset、Checkout、Revert的选择

 

Git仓库有三个主要组成——工作目录,缓存区和提交历史.

从图中我们可以看出,缓存区或者叫索引,其实是指一整套即将被下一个提交的文件集合.也就是即将成为HEAD的一次提交.

----1.提交层面——参数为commit

Reset

所以,git reset不会产生commits,它仅仅更新一个branch(branch本身就是一个指向一个commit的指针)指向另外一个commit(Head和branch Tip同时移动保持一致)

Checkout

 

 文件层面——参数为file