2011-10-18 8 views
7

Agregué archivos en mi repositorio de git que quiero eliminar ahora. Lo eliminé con rm XXX. Ahora, git status me demuestra:Imposible crear gm con caracteres especiales

Changed but not updated: 
    deleted: "Sche\314\201ma application + interface.graffle" 

No importa cómo lo git rm que, todavía tengo una:

fatal: pathspec 'Schêma application + interface.graffle' did not match any files 

Traté de escapar de los espacios en blanco con \, para escapar \ con \\, para escapar " con \". No importa lo que intenté, falló.

¿Tiene alguna pista?

+0

con este tipo de preguntas es muy importante que la gente sepa qué sistema operativo se está utilizando .. . –

+0

seguro, estoy sorprendido de no haberlo escrito. Darwin MacBook-de-XXX.local 10.8.0 Darwin Kernel Version 10.8.0 : Martes 7 de junio 16:33:36 PDT 2011; raíz: xnu-1504.15.3 ~ 1/RELEASE_I386 i386 = Mac Snow-Leopard – iwalktheline

Respuesta

24

Esto detectará el remove:

git add -u 
0

intento git gui. Probablemente podrías escapar de manera adecuada, pero podría ser demasiado problemático de lo que vale. Debería escapar de esto apropiadamente.

Si su problema es la eliminación provisional, solo git add -A para agregar todos los cambios al índice.

0

Envuélvalo entre comillas simples.

git rm '"Sche\314\201ma application + interface.graffle"' 

Si necesita escapar de comillas simples en un nombre de archivo, ajuste esas entre comillas dobles. Así que si por alguna razón su nombre de archivo es '"(que es la comilla simple, comillas dobles), utilice

git rm "'"'"' 

en el que el primer conjunto de comillas dobles está terminando la comilla simple, y el conjunto final de comillas simples se envolver . las comillas

Esto es para Bash en general, no sólo gIT más en la locura cita aquí:. How to escape single-quotes within single-quoted strings?