今天读了一篇写的很详细的文章,内容很多,所以精要提取一下三者的区别,想看详细的进如下链接:https://www.jianshu.com/p/c2ec5f06cf1a
git reset --hardHEAD^ : 重置stage区和工作目录,没有commit的修改会被全部丢失,即,工作目录里的新改动和已经add到stage区的新改动全部丢失
git reset --soft HEAD^ :保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区
git reset --soft HEAD^ 和git reset --hardHEAD^ 的区别:–hard 会清空工作目录和暂存区的改动,而 --soft则会保留工作目录的内容,并把因为保留工作目录内容所带来的新的文件差异放进暂存区
git reset HEAD^ 或者git reset --mixed HEAD^:保留工作目录,并清空暂存区
git reset --mixed HEAD^ 和git reset --soft HEAD^ ,工作目录的内容都会被保留,–mixed和 --soft 的区别在于,–mixed它会把暂存区清空,并把原节点和reset节点的差异的文件放在工作目录,即,工作目录的修改、暂存区的内容以及由 reset 所导致的新的文件差异,都会被放进工作目录