2012-01-09 5 views
148

Essayé la commande suivante:Comment git commit un seul fichier/répertoire

git commit path/to/my/file.ext -m 'my notes' 

Recevez une erreur dans la version git 1.5.2.1:

error: pathspec '-m' did not match any file(s) known to git. 
error: pathspec 'MY MESSAGE' did not match any file(s) known to git. 

Y at-il une nouvelle syntaxe pour le fichier flambage ou le répertoire commet?

RÉPONSE: Les arguments sont attendus dans cet ordre ...

git commit -m 'my notes' path/to/my/file.ext

... mais il est même pas stricte plus :)

+1

Etes-vous sûr que vous avez votre version correcte? Mise à jour de _to_ 1.5.2.1? 1.5.2.1 a plus de 4 ans maintenant. –

+0

Est-ce que quelque chose vous interdit de mettre à jour git? –

+0

BTW: C'était une VM dérivée d'une ancienne recette. Le local Git était à jour, ne réalisait pas que cette version était ancienne. La rigidité a changé. – doublejosh

Répondre

260

Vos arguments sont dans le mauvais ordre. Essayez git commit -m 'my notes' path/to/my/file.ext, ou si vous voulez être plus explicite, git commit -m 'my notes' -- path/to/my/file.ext. Incidemment, git v1.5.2.1 a 4,5 ans. Vous pouvez mettre à jour vers une version plus récente (1.7.8.3 est la version actuelle).

+2

Vous faites une bonne observation. Cependant, il est intéressant de noter que Git 1.7.5.1 sous Windows accepte joyeusement 'git commit path_to_file -m 'message'' –

+0

@SriSankaran: On dirait qu'ils ont appris à reconnaître des arguments hors d'usage alors. Mais selon la documentation, l'ordre correct est de mettre la liste des fichiers en dernier, et c'est probablement une bonne idée de s'en tenir à la version documentée des choses. –

+0

Merci. L'ordre de ces messages a changé ... ou du moins la rigueur de l'ordre a changé;) – doublejosh

71

Essayez:

git commit -m 'my notes' path/to/my/file.ext 
11

Si vous êtes dans le dossier qui contient le fichier

git commit -m 'my notes' ./name_of_file.ext 
+1

Si je suis déjà dans le fichier, ai-je besoin d'un "./" (point avant-barre oblique)? Puis-je utiliser 'git commit -m" ma note "name_of_file.txt'? – Chris22

1

Pour git 1.9.5 sur Windows 7: "Mes notes" (entre guillemets) corrigé ce problème . Dans mon cas, mettre le (s) fichier (s) avant ou après le -m 'message'. n'a fait aucune différence; l'utilisation de guillemets simples était le problème.

0

Utilisez l'option -o.

git commit -o path/to/myfile -m "the message" 

-o, allouent --only uniquement les fichiers spécifiés

+0

Cette option n'est pas nécessaire. Si vous incluez une page de fichier dans votre commande commit, elle ne validera que ces fichiers. – doublejosh