Reset也就是撤回操作,场景一般使用在合并代码撤回,commit后发现不对撤回。
直接看IDEA的操作
但是如果使用
简单总结一下:
–soft:只会撤销commit的操作,并且撤销后会有明显的本地和仓库代码不同步的问题(文件变蓝)
–mix:撤销commit,并且如果该文件是在当前head中加入,此时还会从暂存区从该文件删除(文件变红)
–hard:撤销commit + 撤销缓冲区(变红的条件与–mix一样)+ 最后还会撤销本地文件,也就是最后与你变成你提交前的样子
最后补充一点的就是:如果commit + push 后想撤回,在本地撤回后,push到远程一定要force push,否则会提示你重新合并,而且会以远程的为主。