解决git reset --soft HEAD^撤销commit时报错

今天在使用git回退功能的时候,遇到以下错误:

解决git reset --soft HEAD^撤销commit时报错

问题: 在进行完commit后,想要撤销该commit,于是使用了git reset --soft HEAD^命令,但是出现如下报错:

css 复制代码
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. 因为cmd控制台中换行符默认是'^ ',而不是\ ,所以^符号被git编译为换行符了,解决方案:
css 复制代码
git reset --hard "HEAD^"
git reset --hard HEAD~[return times]
  1. 该仓库到目前为止只有commit过一次代码,故已经是head版本,也会报这样的错,无需关心直接commit或者rm即可

原因猜想 : 想要撤销的commit都是第一次的commit,此时使用git reset --soft HEAD^命令就会报错。因此,推测可能是第一次commit的原因,导致命令无法执行。

解决方法 :可以使用git update-ref -d HEAD命令来实现想要的效果。尝试过后,发现commit被成功撤销,仍然保留了add后的结果。

Git提示 fatal: Not a git repository 错误解决方法

css 复制代码
fatal: Not a git repository (or any of the parent directories): .git

提示说没有.git这样一个目录,解决办法如下:

css 复制代码
git init

然后在进行操作就可以了。

tips:输入log id回退更方便

如下

相关推荐
誰能久伴不乏21 分钟前
看懂 Git 团队协作全流程:分支、提交、PR、rebase 到底在干嘛
git
sunshine22 girl6 小时前
git tag-项目流程
git
imDwAaY19 小时前
6篇文章讲清楚Git:Git 远程协作:fetch、pull、push 到底有什么区别?(3/6)
git·后端
imDwAaY19 小时前
6篇文章讲清楚Git:Git 撤销与恢复:reset、revert、restore 应该怎么选?(4/6)
git
用户733096461230919 小时前
再也不怕手滑丢代码!给 git 高危操作加一层安全校验
git
广白20 小时前
Git Tag 实战:从出包追溯到版本发布
前端·git·面试
Winlifes6 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
郑州光合科技余经理7 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123457 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s7 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git