当我做一个reflog时,我看到了
C:\dev\myproj>git reflog
dfeb578 HEAD@{0}: checkout: moving from release to master
15a6cd0 HEAD@{1}: reset: moving to 15a6cd055d1ce2f1e4592bc3dcb1370c0a330dd3
d5d97e7 HEAD@{2}: merge master: Merge made by the 'recursive' strategy.
b215102 HEAD@{3}: checkout: moving from master to release
我想重置HEAD @ {1}所以我做
git reset 'HEAD@{1}'
但这会返回一个错误:
C:\dev\myproj>git reset 'HEAD@{1}'
fatal: ambiguous argument ''HEAD@{1}'': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
检查我的分支状态,我看到了
> git branch
JIRA-826-recurse-folder-nodes
JIRA-827-import-duplicate-nodes-fails
admin-api
* master
这是在Windows上,使用命令shell和Git Bash的结果相同。
我做错了什么?
答案 0 :(得分:2)
你应该看到与bash不同的结果。
问题是cmd
(与unix shell不同)不会使用'
进行引用并将它们传递给git。您可以从错误消息中看到git试图找到一个字面上称为'HEAD@{1}'
的分支/文件(包括引号)。
修正:
git reset HEAD@{1}
(或
git reset "HEAD@{1}"
如果你真的想添加引号。)