平时工作中,经常只用到了git reset --hard xxx
,还没有弄清楚hard与soft的区别,今天特意查找了相关资料,在此简单总结一下。
git reset --hard与git reset --soft
git reset --hard它会把回退点之前的所有信息都删掉,一个不留,干干净净。 比如刚开始是这样的:
当执行完
git reset --hard HEAD^
之后,会变成这样:4B205092-E065-46E7-984A-D102B3810CF6.png
而且此时的工作区也是干净的。
但是如果执行git reset --soft HEAD^
,此时指针依旧会回退到上一个版本,但是此时执行git status
可以看到未提交的修改。
reset revert
git revert 撤销某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交。
网友评论