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