1

コマンドライン コミット メッセージを使用して、リポジトリにコミットをプッシュしようとしています。

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"

誰もこれを見たことがありますか?このマシンにはルート アクセス権がないため更新できませんが、これが上記のバージョンの既知の問題なのか (グーグルで検索しても何も見つかりませんでした)、それともおそらくこのシステムの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

そして今、すべてがうまくいくようです!でも素早い対応ありがとうございます!

4

1 に答える 1

0

シェルが二重引用符で混乱しているようです。エラーメッセージから、gitはこのコマンドを見ていると思います:

git commit -m some commit message

したがって、「commit」(単語の2番目の使用)と「message」をパス指定として解釈し、「some」をコミットメッセージとして解釈します。

引用符を必要とする他の(git以外の)コマンドにもこの問題があるかどうかを試してみるとよいでしょう。たとえば、次のようにディレクトリ内のすべてのファイルが表示されますか、それともエラーメッセージが表示されますか。

ls "*"
于 2012-08-09T15:29:08.520 に答える