一些先导知识
image- head
当前分支引用的指针,它总是指向该分支上的最后一次commit。 - index
预期的下一次提交。 我们也会将这个概念引用为 Git 的暂存区,这就是当你运行 git commit 时 Git 看起来的样子。 - workspace
本地工作目录
git reset --soft <commit_id>:
本质上是撤销了一次git commit 命令。head指向该分支的上一次commit,但不会恢复到index和workspace一级。如果还要提交,直接commit即可。
举例:
git reset --hard <commit_id>:
彻底回退,head指向该分支的上一次commit,index和workspace都变为上一个版本的内容。
举例:
git revert <commit_id>:
生成一个新commit,这个commit的作用是撤消一个已存在提交的所有修改。head指向新生成的这个commit,本质上是撤销或者倒转。
举例:
参考资料:
git官方文档
https://stackoverflow.com/questions/3689838/whats-the-difference-between-head-working-tree-and-index-in-git
网友评论