Erreur de validation git: pathspec 'commit' ne correspond à aucun fichier connu de git

87

J'essaie de télécharger une application Ruby sur Heroku. Je commence par git initet puis je tape git add .et ensuite j'utilise git commit -m initial commit.

Chaque fois que j'utilise git commit -m, je reçois un message d'erreur disant:

Erreur de validation git: Pathspect 'commit' ne correspond à aucun fichier connu de git.

On m'a dit que cela se produit parce que les arguments sont dans le mauvais ordre.

Ce que j'ai remarqué, c'est que lorsque je l'utilise, git add .il ne répertorie pas les fichiers ajoutés car il passe simplement à la ligne suivante.

Je soupçonne que j'ai ce problème car mes fichiers ne sont pas vraiment ajoutés.

J'apprécierais tout conseil sur la façon de corriger ce problème.

user2457644
la source

Réponses:

195

Les arguments de la ligne de commande sont séparés par un espace. Si vous souhaitez fournir un argument avec un espace, vous devez le citer. Alors utilisez git commit -m "initial commit".

Kan
la source
32
git commit -m guillemet simple 'initial commit' ne fonctionnait pas pour moi, je l'utilise dans un environnement Windows.
somshivam
13
Sous Windows, les guillemets sont le seul choix.
Chad
Merci beaucoup. J'ai résolu ce problème avec un double guillemet dans mon système de fenêtres.
Bhavin Thummar le
Économiseur de jour, je n'ai pas utilisé du tout de guillemets (doubles simples), donc cela a échoué à cause d'espaces.
Timo il y a
72

Je voudrais juste ajouter ...

Dans Windows, le message de validation doit être entre guillemets ( git commit -m "initial commit"au lieu de git commit -m 'initial commit'), car j'ai passé environ une heure, juste pour comprendre que le guillemet simple ne fonctionne pas dans Windows.

Entailles
la source
4
Les utilisateurs de Windows regardent ici!
Shane le
2
Provenant de l' aide GitHub où les guillemets sont simples.
Bob Stein
J'utilise git commit -m "first commit" et j'obtiens toujours la même erreur sous Windows.
multigoodverse
@nicks Merci monsieur!
haakym
oui, venant de l'aide de bitbucket, qui a également cité des guillemets simples
Kirill Yunussov
6

Dans mon cas, cette erreur était due à des caractères spéciaux que je considérais comme des guillemets doubles lorsque je copiais la commande à partir d'une page Web.

Zeeawan
la source
5

J'ai découvert une erreur ici, utilisez des guillemets doubles au lieu de guillemets simples.

change ça

git commit -m 'initial commit'

à

git commit -m "initial commit"

Sai Gopi moi
la source
4

Si cela m'était arrivé lors de la validation depuis Xcode 6, après avoir ajouté un répertoire de fichiers et de sous-répertoires au dossier du projet. Le problème était que, dans la feuille de validation, dans la barre latérale gauche, j'avais coché non seulement le répertoire racine que j'avais ajouté, mais aussi tous ses descendants. Pour résoudre le problème, j'ai coché uniquement le répertoire racine. Cela a également validé tous les descendants, comme souhaité, sans erreur.

Linux_Google
la source
3

Si cela m'était arrivé lors de la validation depuis Xcode 6, après avoir ajouté un répertoire de fichiers et de sous-répertoires au dossier du projet. Le problème était que, dans la feuille de validation , dans la barre latérale gauche, j'avais coché non seulement le répertoire racine que j'avais ajouté, mais aussi tous ses descendants. Pour résoudre le problème, j'ai coché uniquement le répertoire racine. Cela a également validé tous les descendants, comme souhaité, sans erreur.

Jerry Krinock
la source
3

Veuillez noter que dans Windows, il est très important que les git commit -m "initial commit"textes de validation initiaux soient entre guillemets. Les guillemets simples génèrent une erreur de spécification de chemin.


la source
1

Dans mon cas, le problème était que j'avais utilisé un mauvais alias git commit -m. J'ai utilisé un gcalias qui ne voulait pas diregit commit -m

TG
la source
0

s'il y a anybodys utilisant python os pour appeler git, vous pouvez utiliser os.system ('git commit -m "' + str (comment) + '"')

未来 陆家嘴 顶尖 的 投资 人
la source
0

J'ai rencontré le même problème. ma syntaxe n'a aucun problème. Ce que j'ai trouvé, c'est que j'ai copié et collé git commit -m "comments" de ma note. Je le retape, la commande s'exécute sans problème. Il s'avère que - et "" sont le problème lorsque je copie coller sur le terminal.

Haibin Chen
la source
0

Dans mon cas, le problème était que j'avais oublié d'ajouter le commutateur -m avant le commentaire cité. Cela peut aussi être une erreur courante et le message d'erreur reçu est exactement le même

Javier D.
la source