天天看點

git reset --hard HEAD^後顯示more?的解決方案

在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等就不會出現這種問題了