解决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回退更方便

如下

相关推荐
郡杰2 小时前
Git基础与开发平台搭建
git·后端
钟智强4 小时前
我警告了 329 天
git·php·wordpress·webshell
乐观的冷风5 小时前
我们需要将文件添加到暂存区才能提交,而移除文件后是无法添加到暂存区的,那么怎么移除一个文件让GIT不再将其纳入版本控制呢?上图中GIT已经给出了说明:
git
tjl521314_216 小时前
Git SSH Host Key Verification Failed 问题排查与解决
运维·git·ssh
嘶哈哈哈8 小时前
[特殊字符] Git 协作指南
git
say_fall9 小时前
【Git 精品详解】企业规范:企业级开发模型、Git Flow、发版流程规范、Code Owner 制度、事故应急回滚
大数据·linux·服务器·git·学习·elasticsearch
江畔柳前堤1 天前
第13章:docker生产环境部署实战
运维·git·docker·容器·代码复审
GuHenryCheng1 天前
【ESP32】ESP-IDF开发环境搭建(cursor)
git·stm32·单片机·学习
kaka。。1 天前
GIT安装+代码推送
git
明理的路灯1 天前
安装 git 开发工具
git