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

如下

相关推荐
静心观复1 小时前
git revert 2
git
枫子有风1 小时前
Git 简介和基础使用
git
FrankYoou5 小时前
git stash push 命令作用及使用场景
git
眼小博14 小时前
多人协作Git开发流程指南
git
lpfasd12321 小时前
git-团队协作基础
chrome·git·elasticsearch
John Song1 天前
git多个账号管理
git·github
CV_J1 天前
解决Git 冲突后本地提交丢失/未推送问题
git
__Witheart__1 天前
Git 某个分支恢复到某个特定的 commit 状态
git
XU磊2601 天前
Git 实现github仓库管理-删除指定目录下的所有文件并保留目录结构
git·github
zhimingwen1 天前
解决 GitLab Token 轮换后 SourceTree 认证失败问题
git