git 删除/回退本地提交

git reset --mixed [提交id]:

此为不带参数执行 git reset 时的默认方式,它会将当前分支(HEAD)指向指定提交

回退了 git commit 和 git add 操作,但本地文件(工作区)保持不动

可以重新暂存提交或直接丢弃更改。


git reset --soft [提交id]:

它也是将当前分支(HEAD)指向指定提交

但只回退了 git commit 操作,不对 git add 回退,即所有修改都还在暂存区(index)

如果还要提交,直接commit即可,如果想要放弃,则需要先从暂存区取消暂存再进行丢弃。


git reset --hard [提交id]:

它是直接将当前分支(HEAD)指向指定提交

暂存区(index)、本地文件(工作区)都会被直接修改,会导致所撤销的修改直接丢失,这个需要谨慎操作!

 

故最安全的是通过 --soft 进行回退,再自行选择性或全部的取消暂存丢弃提交即可。

可以注意,在任何操作后,使用 git status 命令查看当前状态!

参考:https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%87%8D%E7%BD%AE%E6%8F%AD%E5%AF%86#_git_reset

posted @ 2020-01-14 22:48  不是豆豆  阅读(9536)  评论(0编辑  收藏  举报
友情链接:迷途