[GIT-CMD]RESET

本地 撤销commit https://www.cnblogs.com/lfxiao/p/9378763.html

# 取消本地commit
git reset --soft HEAD~<num>
git reset HEAD^ --soft
# 丢弃本地的所有commit
git reset --hard origin/<branch-name>
  • <num>代表撤销本地的几个commit
    • HEAD~1一般写作:HEAD^
    • HEAD~2: 撤销本地没有push的两个commit
  • 该操作仅仅是撤回commit操作,您写的代码仍然保留。

reset 几个参数:

--mixed

意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作

这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

--soft

不删除工作空间改动代码,撤销commit,不撤销git add .

--hard

删除工作空间改动代码,撤销commit,撤销git add .

注意完成这个操作后,就恢复到了上一次的commit状态。

修改注释:

git commit --amend

此时会进入默认vim编辑器,修改注释完毕后保存就好了。

远程强制覆盖本地master分支

git fetch --all && git reset --hard origin/master && git pull