HEAD^ 提示 More?
问题
在回滚上次代码时用 git reset --hard HEAD^
却发现不能使用,会提示 More?
,多按几次就会报错。
shell
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>...]'
原因
因为使用 cmd
控制台的原因,cmd
中的换行符默认是 ^
,而不是 \
,所以它的 more?
的意思是问你下一行是否需要再输入,而 ^
符号就被当做换行符而被 git 命令忽略掉了。
解决方法
加引号
git reset --hard "HEAD^"
多加一个^
git reset --hard HEAD^^
换成~
git reset --hard HEAD~
或者git reset --hard HEAD~1
~ 后面的数字表示回退几次提交,默认是一次
或者换成 git bash
,powershell
等就不会出现这种问题了