Git致命错误,模糊参数'HEAD'既用于修订版,又用于文件名,请使用--将路径与修订版分隔开,例如git [....]--[...]。

7
  • 我的git版本是1.8.0 mysysgit0。

  • 远程仓库在Linux服务器上。

  • 本地仓库在Windows 7上。

当我尝试提交本地更改时,它显示以下致命错误:

fatal ambiguous argument 'HEAD' both revision and file name use -- to separate paths from revision like  git [....]--[...]

有人能建议一下问题出在哪里吗?怎么解决?


欢迎来到 Stack Overflow!您应该引用导致错误的“确切命令”。如果没有这个,就无法提供具体的答案。 - Jan Hudec
控制台转储确实可能会很有帮助。 - sjas
你有一个名为HEAD的文件吗(大小写可能不同)? - Thorbjørn Ravn Andersen
1个回答

7

您的仓库中必须有一个名为HEAD的文件,这会让git感到困惑,因为HEAD也是当前活动分支的通用名称。

您可以使用双破折号来消除歧义,就像这样:

git log -- HEAD

这将展示名为HEAD的文件的历史记录。

为避免这些问题,最好避免使用这些特殊名称的文件。


Mvp,感谢你的回答,我尝试了“git log -- HEAD”,但仍然面临同样的问题。 - Srini
抱歉,如果您想得到帮助,您需要提供更多信息。请展示以下命令的输出(您可以为了匿名性而进行过滤,但不要过度):git branchdir(我对当前目录中名为 headHEAD 的文件是否存在感兴趣),最后,您如何实际提交它?错误消息也很重要 - 不要省略任何内容! - mvp
尝试过"git branch",显示为"master" FYI :: 使用git bash提交使用git commit -a -m "test"可以工作但是我无法通过tortoisegit客户端提交,当我尝试使用tortoiseit客户端提交时,它会显示Git fatal ambiguous argument 'HEAD' both revision and file name use -- to separate paths from revision like git [....]--[...]暂存区中没有文件显示。如果您需要更多信息,请告诉我。 - Srini
如果没有先使用 git add newfile.txt,则 git commit -a -m "test" 对于新文件将不起作用。一般情况下,避免使用 git commit -a,因为它太冒险了。相反,使用 git add changed-or-new,然后使用 git commit -m "msg" - mvp
尝试过谷歌搜索,但没有成功。 - Srini
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接