2012-01-09 22 views
148

intentado el siguiente comando:Cómo git commit un único archivo/directorio

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

recibir un error en la versión 1.5.2.1 git:

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. 

¿Hay una nueva sintaxis para el archivo de la chamusquina o el directorio se compromete?

RESPUESTA: Se espera que Argumentos en este orden ...

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

... sin embargo no es estricta, incluso más :)

+1

¿Estás seguro de que tiene la versión correcta? Actualizando _to_ 1.5.2.1? 1.5.2.1 tiene más de 4 años ahora. –

+0

¿Hay algo que te prohíba actualizar git? –

+0

BTW: Esta fue una VM creada a partir de una receta antigua. Local Git estaba actualizado, no se dio cuenta de que esta versión era antigua. Estricto cambio – doublejosh

Respuesta

260

Sus argumentos están en el orden equivocado. Pruebe git commit -m 'my notes' path/to/my/file.ext, o si quiere ser más explícito, git commit -m 'my notes' -- path/to/my/file.ext.

Por cierto, git v1.5.2.1 tiene 4.5 años. Es posible que desee actualizar a una versión más nueva (1.7.8.3 es la versión actual).

+2

Usted hace una buena observación. Sin embargo, curiosamente Git 1.7.5.1 en Windows acepta alegremente 'git commit path_to_file -m 'message'' –

+0

@SriSankaran: Parece que le enseñaron a reconocer los argumentos fuera de orden. Pero de acuerdo con la documentación, el orden correcto es poner la lista de archivos al final, y probablemente sea una buena idea quedarse con la versión documentada de las cosas. –

+0

Gracias. El orden de estos mensajes cambió ... o al menos se modificó la rigurosidad del pedido;) – doublejosh

71

Probar:

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

Si se encuentra en la carpeta que contiene el archivo

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

si ya estoy en el archivo, ¿necesito un "./" inicial (barra diagonal)? ¿Podría usar 'git commit -m 'my note' name_of_file.txt'? – Chris22

1

Para Git 1.9.5 en Windows 7: "Mis Notas" (comillas dobles) corregido este problema . En mi caso, poner el archivo (s) antes o después del -m 'mensaje'. no hizo diferencia; usar comillas simples fue el problema.

0

Utilice la opción -o.

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

-o, archivos --only commmit especificados

+0

Esa opción no es necesaria. Si incluye una página de archivo en su comando de confirmación, solo confirmará esos archivos. – doublejosh