245 votes

Comment 'git commit' un seul fichier / répertoire

J'ai essayé la commande suivante :

git commit chemin/vers/mon/fichier.ext -m 'mes notes' 

Et j'ai reçu une erreur dans la version Git 1.5.2.1 :

erreur: la spécification de chemin '-m' ne correspond à aucun fichier connu de git.
erreur: la spécification de chemin 'MES NOTES' ne correspond à aucun fichier connu de git.

S'agit-il d'une syntaxe incorrecte pour les commits d'un seul fichier ou d'un répertoire ?

1 votes

Etes-vous sûr d'avoir la bonne version? Mettre à jour vers 1.5.2.1? 1.5.2.1 a plus de 4 ans maintenant.

0 votes

Est-ce quelque chose vous empêche de mettre à jour git ?

1 votes

Au fait : Il s'agissait d'une machine virtuelle créée à partir d'une ancienne recette. Le Git local était à jour, je n'avais pas réalisé que cette version était archaïque. La rigidité a changé.

396voto

Kevin Ballard Points 88866

Vos arguments sont dans le mauvais ordre. Essayez git commit -m 'mes notes' chemin/vers/mon/fichier.ext, ou si vous voulez être plus explicite, git commit -m 'mes notes' -- chemin/vers/mon/fichier.ext.

Accessoirement, Git v1.5.2.1 a 4,5 ans. Vous voudrez peut-être mettre à jour vers une version plus récente (1.7.8.3 est la version actuelle).

2 votes

Tu fais une bonne observation. Cependant, il est intéressant de noter que Git 1.7.5.1 sur Windows accepte sans problème git commit path_to_file -m 'message'

0 votes

@SriSankaran : Il semble qu'ils lui aient appris à reconnaître les arguments hors séquence alors. Mais selon la documentation, l'ordre correct est de mettre la liste des fichiers en dernier, et il est probablement préférable de se tenir à la version documentée des choses.

0 votes

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

100voto

wadesworld Points 6476

Essayez :

git commit -m 'mes notes' chemin/vers/mon/fichier.ext 

ou si vous êtes dans le répertoire actuel, ajoutez ./ au début du chemin :

git commit -m 'mes notes' ./chemin/vers/mon/fichier.ext

0 votes

Pour moi, cela ne fonctionne pas sans guillemets doubles ", utilisez git commit -m "mes notes" ./nom_du_fichier.ext

19voto

Piethon Points 181

Si vous êtes dans le dossier qui contient le fichier

git commit -m 'mes notes' ./nom_du_fichier.ext

1 votes

Si je suis déjà dans le fichier, ai-je besoin de "./" (point barre oblique) devant? Pourrais-je utiliser git commit -m "ma note" nom_du_fichier.txt?

0 votes

@Chris22 Je ne suis pas sûr de ce que vous voulez dire par "si je suis déjà dans le fichier" (peut-être vouliez-vous dire "dans le répertoire"?)... ./ est juste une syntaxe de chemin normale, mais oui, pas nécessaire dans cet exemple.

9voto

W.Perrin Points 381

Utilisez l'option -o.

git commit -o chemin/vers/monfichier -m "le message"

-o, --seulement commit seulement les fichiers spécifiés

2 votes

Cette option n'est pas nécessaire. Si vous incluez une page de fichier dans votre commande de commit, seuls ces fichiers seront commités.

1 votes

Il est bon de savoir si vous voulez vous assurer lorsque vous manipulez d'autres paramètres, par exemple --amend

6voto

Rahul TP Points 257

Spécifiez le chemin après le message de validation saisi, comme :

git commit -m "message de validation" chemin/vers/fichier.extension

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X