2008-09-09 20 views
71

No estoy muy seguro de lo que está pasando aquí, pero a veces un archivo en particular en mi repositorio cambiará el caso de su nombre. por ejemplo ,:¿Cómo hacer que git ignore los cambios en el caso?

antes: File.h

después: file.h

no me importa realmente por qué ocurre esto, pero esto hace que git a pensar que es un archivo nuevo, y luego tengo que ir y cambie el nombre del archivo de nuevo. ¿Puedes hacer que Git ignore los cambios de caso?

[editar] sospecho que está haciendo algo raro con ese archivo en particular Visual Studio, ya que parece suceder más a menudo al abrir y guardar después de los cambios. Sin embargo, no tengo ninguna forma de corregir errores en VS, pero git debería ser un poco más capaz, espero.

+0

Re: Visual Studio guarda archivos en minúsculas ¿Qué versión de Visual Studio estás usando? La última vez que revisé esto pareció ser mejor en la versión de 2008. En 2005, el error parecía ocurrir cuando los archivos se abrían a través del depurador en lugar del explorador de soluciones. –

+0

En realidad, sí, esto es en 2005. Sin embargo, no hay posibilidad de una actualización por un tiempo. –

Respuesta

133

Desde la versión 1.5.6 hay una opción ignorecase disponible en la sección [core] de .git/config

por ejemplo añadir ignorecase = true

para cambiarlo por sólo una cesión temporal, a partir de ese plazo carpeta:

git config core.ignorecase true 

Para cambiarlo a nivel mundial:

git config --global core.ignorecase true 
+18

git config core.ignorecase true o git config --global core.ignorecase true para aplicar globalmente. –

+0

@graywh: Está documentado en git-config en core.ignorecase (http://www.kernel.org/pub/software/scm/git/docs/git-config.html) –

+0

Justo lo que necesitaba, gracias. –

10

En la versión 1.6.1.9 para Windows Git he encontrado que " ignorecase = true 'en config ya estaba configurado por defecto.

+0

jaja tal vez sea una cosa de Windows – phunehehe

+4

Sí, y cuando trabaje con archivos Java, desea que esta configuración se establezca en falso, de lo contrario, podría estar en problemas al hacer dicha refactorización (clase HTMLParser convirtiéndose en HtmlParser o al revés). – PhiLho

+0

mismo para la versión de git 2.10.1.windows.1 –

3

La situación descrita en la pregunta ahora está volviendo a ocurrir con Mac OS X, versión git> = 1.7.4 (creo). es establecer su ignorecase = false y cambiar el nombre de los archivos en minúscula (ese git cambiado de esa manera, no de Visual Studio) de nuevo a su UsualCase a mano (es decir 'mv myname MyName').

Más información here.

4

Puede forzar a git para cambiar el nombre del archivo en una forma de casos y sólo con este comando:

git mv --cached name.txt NAME.TXT 

Nota Esto no cambia el caso del fichero de su copia desprotegido en una partición de Windows, pero git registra el cambio de la carcasa y puedes confirmar ese cambio. Las cajas futuras usarán la nueva carcasa.

Cuestiones relacionadas