当前位置:   article > 正文

项目第一次git commit后如何撤销

项目第一次git commit后如何撤销

问题描述:

# 1. 新建gitcode目录,然后在目录下
git init

# 2. 用idea打开目录后,新建.gitignore文件后
git add .

git commit -m "init project"

git log

# 3. 就出现如下图情况
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述
目的:向撤销该次代码提交

# 仅撤销 git commit 命令
git reset --soft HEAD^

# 撤销 git commit 命令和撤销 git add
git reset --hard HEAD^
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述
在这里插入图片描述

$ 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>...]'
  • 1
  • 2
  • 3
  • 4

结果:并没有达到预期效果撤回git commit提交

# 仅撤销 git commit 命令
git update-ref -d HEAD
  • 1
  • 2

在这里插入图片描述

注意:上面是一个项目第一次提交后撤回碰到的情况。

如果不是第一次提交,是第二次、第三次…就可以使用下面命令

# 撤销 git commit 提交
git reset --soft HEAD^
  • 1
  • 2

在这里插入图片描述
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

如果已经推到远程仓库了,要撤回,则本地操作commit提交的撤回,然后执行

git push origin 分支名 --force
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/126700?site
推荐阅读
相关标签
  

闽ICP备14008679号