问题描述:
# 1. 新建gitcode目录,然后在目录下
git init
# 2. 用idea打开目录后,新建.gitignore文件后
git add .
git commit -m "init project"
git log
# 3. 就出现如下图情况

目的:向撤销该次代码提交
# 仅撤销 git commit 命令
git reset --soft HEAD^
# 撤销 git commit 命令和撤销 git add
git reset --hard HEAD^


$ git reset HEAD^
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
结果:并没有达到预期效果撤回git commit提交
# 仅撤销 git commit 命令
git update-ref -d HEAD

注意:上面是一个项目第一次提交后撤回碰到的情况。
如果不是第一次提交,是第二次、第三次…就可以使用下面命令
# 撤销 git commit 提交
git reset --soft HEAD^

HEAD^的意思是上一个版本,也可以写成HEAD~1;
如果2次commit,都想撤回,可以使用HEAD~2;
# 不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
git reset --mixed HEAD^
或
git reset HEAD^
# 不删除工作空间改动代码,撤销commit,不撤销git add .
git reset --soft HEAD^
# 删除工作空间改动代码,撤销commit,撤销git add .
git reset --hard HEAD^
# 如果commit注释写错了,只是想改一下注释,只需要git commit --amend,此时会进入默认vim编辑器,修改注释完毕后保存就好
git commit --amend
如果已经推到远程仓库了,要撤回,则本地操作commit提交的撤回,然后执行
git push origin 分支名 --force










![【深度学习:图像注释工具】用于计算机视觉的最佳图像注释工具 [2024 年更新]](https://img-blog.csdnimg.cn/direct/a4fcda4b3a564713936018b13146107e.png)







