在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等就不会出现这种问题了



欢迎大家加入QQ群一起交流讨论, ​​「吟游」程序人生​​——YinyouPoet