在windows的cmd控制台下操作git,想要回滚到上一次提交,但是输入git reset --hard HEAD^
后就显示more?
,多按几次回车后就报错如下,如何解决呢?
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控制台中换行符默认是^
,而不是\
,所以它的more?的意思是问你下一行是否需要再输入,而^
符号就被当做换行符而被git命令忽略掉了。
解决方法有如下几种:
加引号:git reset --hard "HEAD^"
加一个^:git reset --hard HEAD^^
换成~:git reset --hard HEAD~ 或者 git reset --hard HEAD~1
~ 后面的数字表示回退几次提交,默认是一次
当然还可以换成git bash,powershell等就不会出现这种问题了