usar - ¿Cómo puedo hacer que Git realmente*ignore*terminaciones de línea?
que es un repositorio git (2)
¿Cómo puedo decirle a Git que realmente no le importan los finales de línea? ¿Dejarlos como LF o CRLF, como eran originalmente, y verificarlos de la misma manera?
Estoy usando un repositorio de Git con git-tf para registrarme en un repositorio de TFS. El resto de mi equipo está usando TFS exclusivamente.
Siendo ese el caso, a veces cambian los finales de línea sin saberlo. Por ejemplo, recientemente, una herramienta de terceros normalizó sus finales de línea, entre otros cambios. Nuestro repositorio se actualizó con estos cambios, y ahora los archivos muestran cambios en mi directorio debido a las diferentes terminaciones de línea.
Lo que realmente quiero, para este repositorio en particular, es hacer que Git pretenda que los cambios de final de línea no existan. Si es LF, déjalo como LF. Si es CRLF, déjelo como CRLF.
¿Qué configuración o combinación de configuraciones necesito para hacer esto?
quizás estás buscando esto
git config --global core.autocrlf false
Para referencia futura: la forma más estable de implementar esto, es usar un archivo .gitattributes que se haya comprometido en la raíz del repositorio de git.
Este archivo debe contener lo siguiente:
# no eol conversions!
* -text
Esto significa lo siguiente:
- [*]: este es un filtro de archivo y coincide con cualquier archivo
- [-text]: no intente realizar ninguna conversión de final de línea al realizar el check-in y check-out
Nota: usar "text = auto" significaría: usar el formato nativo de final de línea en el archivo desprotegido (para cualquier cosa que se parezca al texto) y almacenarlo como "LF" internamente.
Esto es robusto porque todos los que clonan el repositorio usarán la misma configuración. (Este no es el caso cuando se usa core.autocrlf.)
Ver también documentación de Git sobre gitattributes (efectos: texto).