git reset与git revert

平时工作中,经常只用到了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都会保留,并且把这次撤销作为一次最新的提交。

你可能感兴趣的:(git reset与git revert)