代码回滚:Reset、Checkout、Revert的选择
Git仓库有三个主要组成——工作目录,缓存区和提交历史.
从图中我们可以看出,缓存区或者叫索引,其实是指一整套即将被下一个提交的文件集合.也就是即将成为HEAD的一次提交.
----1.提交层面——参数为commit
Reset
所以,git reset不会产生commits,它仅仅更新一个branch(branch本身就是一个指向一个commit的指针)指向另外一个commit(Head和branch Tip同时移动保持一致)
Checkout
文件层面——参数为file