git commit -m“some message”返回错误:pathspec

时间:2012-08-09 15:20:45

标签: git git-commit

我正在尝试使用命令行提交消息将提交推送到我的存储库:

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

现在一切似乎都有效!谢谢你的快速反应!

1 个答案:

答案 0 :(得分:0)

看起来你的shell正在弄乱双引号。从错误消息中,我认为git看到了这个命令:

git commit -m some commit message

因此它将'commit'(第二次使用该单词)和'message'解释为路径规范,并将'some'解释为提交消息。

尝试查看需要引用的其他(非git)命令是否也存在此问题会很好。例如,以下内容显示目录中的所有文件或错误消息:

ls "*"