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

如下

相关推荐
lilili也2 小时前
Git、VScode、GitLab
git·vscode·gitlab
拥春飞翔3 小时前
AI 生成测试用例:测试知识库选「开源向量库」还「Git+Markdown」?
人工智能·git·测试用例
普修罗双战士3 小时前
高效使用 Git:从入门到精通的实战指南
java·git
摇滚侠5 小时前
创建 git 忽略文件 忽略 .obsidian 这个目录
大数据·git·elasticsearch
studytosky5 小时前
【高并发内存池】线程缓存核心原理与实现
linux·服务器·git·缓存
咕咕嘎嘎10245 小时前
问卷系统测试报告
git
水无痕simon6 小时前
04 Git基础-记录每次更新到仓
git
无限进步_7 小时前
【C++】寻找数组中出现次数超过一半的数字:三种解法深度剖析
开发语言·c++·git·算法·leetcode·github·visual studio
一个程序猿老马18 小时前
012、远程协作:连接GitHub/Gitee与git remote
git·gitee·github
Lisonseekpan1 天前
Git:如何将一个分支的特定提交合并到另一个分支?
java·大数据·git·后端·elasticsearch