git reset 和 git checkout的区别

一. git reset

众所周知,git reset --hard ‘版本哈希’ 可以用来回退版本,但是如果不带–hard参数,即git reset可以用来从暂存在回复到工作区。

简单的场景用例:假设一次修改了两个文件,然而需要对这两个文件分别进行两次提交,在进行缓存操作时(git add),不小心将两个文件都进行了缓存,此时我们需要对其中一个文件取消缓存,此时就需要git reset操作来实现,如下图:
在这里插入图片描述

二. git checkout

git checkout 一般用于切换分支,其实,还有一种用法就是通过git commit之后又对其中文件进行了修改,将没有放入缓存区(git add )之前的文件恢复到工作区状态。

对于修改了哪些文件,我们还可以通过git diff 指令来查看有哪些修改。

如下:
在这里插入图片描述

发布了398 篇原创文章 · 获赞 182 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/yexudengzhidao/article/details/105243564