Pregunta

Estoy corriendo un entorno mixto, y mantener un repositorio central, desnuda en el que tire y empuje la mayor parte de mis cosas. Este repositorio centralizado se ejecuta en Linux, y echa un vistazo a Windows XP / 7, Mac y Linux. En todos los repositorios que puse la línea siguiente en mi .git / config:

[core]
     autocrlf = true

No tengo la bandera en cualquier lugar safecrlf=true. Primera vez cuando modifico cosas en mi una máquina de Windows (XP) no hay ningún problema y cuando miro el diff, se ve bien. Pero cuando hago lo mismo en la otra máquina de Windows (7), se muestran todas las líneas tan cambiado, pero los finales de línea locales son \ r \ n como se esperaba (en caso de control en un editor hexadecimal). Lo mismo se aplica a una lata MacOSX. A veces tengo la sensación de que los diferentes sistemas luchan en los finales de línea, pero no puedo estar seguro (que estoy perdiendo un seguimiento de todos los tiempos de cambio de archivos específicos).

Yo no utilizo para tener el conjunto autocrlf, pero establecer el indicador de muchos meses atrás. Podría ser que mis causando problemas actuales? ¿Es necesario que el clon todo de nuevo a perder algo de equipaje de edad? O hay otras cosas que las necesidades de configuración también? Probé git checkout -- . un millón de veces, pero sin éxito.

¿Fue útil?

Solución

Es necesario establecer autocrlf a true en cada máquina que se está trabajando (en el mundial), o para cada copia del repositorio (en local). Los ajustes de la cesión temporal se clonó a partir de que no se aplican a tu repositorio local.

La otra respuesta es que usted tiene una mezcla de los finales de línea en los archivos de la cesión temporal.

Un filtro en la salida podría ser configurado para cada tipo de archivo de la fuente para corregir sus finales de línea, y en el check-in para reponerlos con el estándar de recompra.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top