我正在尝试使用命令行提交消息将提交推送到我的存储库:
git commit -m "some commit message"
但我一直收到以下错误:
error: pathspec 'commit' did not match any file(s) known to git.
error: pathspec 'message' did not match any file(s) known to git.
我已经看到这个问题回答了明显的情况,比如忘记在提交提交时使用'-m'标志(here),但我正在使用正确的标志 - 这个确切的语法有效在具有相同存储库的克隆的其他计算机上。在麻烦的(Red Hat 4.1.2)机器上,我正在使用:
git version 1.7.3.3
如果我尝试使用长格式标志,我会得到同样的错误:
git commit --message="some commit message"
有没有人见过这个?我在这台机器上没有root权限,所以我无法更新,但我想知道这是否是上述版本的已知问题(虽然没有通过Google搜索找到任何内容),或者可能是这个系统上的git配置?
修改:已解决!
我想我发现了这个问题。我对Red Hat并不太熟悉,但我发现可执行文件 / usr / local / bin / git 指向一些名为 run-rhel 的可执行文件,例如
/usr/local/bin/git -> run-rhel
这个可执行文件正在搞乱git的命令结构。我将真正的git可执行文件添加到我的$ PATH:
export PATH=/path/to/real/executable:$PATH
现在一切似乎都有效!谢谢你的快速反应!
答案 0 :(得分:0)
看起来你的shell正在弄乱双引号。从错误消息中,我认为git看到了这个命令:
git commit -m some commit message
因此它将'commit'(第二次使用该单词)和'message'解释为路径规范,并将'some'解释为提交消息。
尝试查看需要引用的其他(非git)命令是否也存在此问题会很好。例如,以下内容显示目录中的所有文件或错误消息:
ls "*"