git - tag - Cómo cambiar la configuración de final de línea
qué tipos de etiquetas existen en git (4)
¿Hay un archivo o menú que me permita cambiar la configuración de cómo lidiar con los finales de línea?
Hay 3 opciones:
Checkout Windows-style, commit Unix-style
Git convertirá LF a CRLF cuando extraiga archivos de texto. Al cometer archivos de texto, CRLF se convertirá a LF. Para proyectos multiplataforma, esta es la configuración recomendada en Windows ("core.autocrlf" se establece en "true")
Desproteger como está, cometer estilo Unix
Git no realizará ninguna conversión al retirar archivos de texto. Al cometer archivos de texto, CRLF se convertirá a LF. Para proyectos multiplataforma, esta es la configuración recomendada en Unix ("core.autocrlf" se establece en "entrada").
Pago como está, cometer como está
Git no realizará conversiones al retirar o confirmar archivos de texto. No se recomienda elegir esta opción para proyectos multiplataforma ("core.autocrlf" se establece en "false")
Para una solución de configuración de repositorio, que se puede redistribuir a todos los desarrolladores, consulte el atributo de text en el archivo text . De esta manera, los desarrolladores no tienen que establecer manualmente sus propios finales de línea en el repositorio, y dado que los diferentes repositorios pueden tener diferentes estilos de final de línea, global core.autocrlf no es el mejor, al menos en mi opinión.
Por ejemplo, deshabilitando este atributo en una ruta dada [ . - texto] forzará a git a no tocar los finales de línea cuando se registre y se salga. En mi opinión, este es el mejor comportamiento, ya que la mayoría de los editores de texto modernos pueden manejar ambos tipos de finales de línea. Además, si usted, como desarrollador, todavía desea hacer una conversión de final de línea cuando se registra, aún puede establecer la ruta para que coincida con ciertos archivos o establecer el atributo eol (en .gitattributes) en su repositorio.
También revise esta publicación relacionada, que describe el archivo .gitattributes y el atributo de texto con más detalle: ¿Cuál es la mejor estrategia de manejo de CRLF (retorno de carro, avance de línea) con Git?
Formato de final de línea usado en OS
- Windows:
CR
(par de retorno de carro) yLF
(LineFeed/n
) - OSX, Linux:
LF
(LineFeed/n
)
Podemos configurar git para que corrija automáticamente los formatos de fin de línea para cada sistema operativo de dos maneras.
- Configuración global de Git
- Utilice el archivo
.gitattributes
configuración global
En Linux / OSXgit config --global core.autocrlf input
Esto arreglará cualquier CRLF
a LF
cuando te comprometas.
git config --global core.autocrlf true
Esto se asegurará de que al realizar el pago en Windows, todos los LF
se convertirán a CRLF
Archivo .gitattributes
Es una buena idea mantener un archivo .gitattributes
ya que no queremos que todos los .gitattributes
nuestro equipo configuren su configuración. Este archivo debe mantenerse en la ruta raíz del repositorio y, si existe, git lo respetará.
* text=auto
Esto tratará todos los archivos como archivos de texto y se convertirá a la línea del sistema operativo que finaliza en el proceso de pago y vuelve a LF
en la confirmación automática. Si quería decirlo explícitamente, entonces use
* text eol=crlf
* text eol=lf
El primero es para el pago y el segundo es para confirmar.
*.jpg binary
Trate todas las imágenes .jpg
como archivos binarios. Así que no se necesita conversión
Si desea volver a convertir los formatos de archivo que se han cambiado a formato UNIX desde el formato de PC.
(1) Debe volver a instalar el GIT de tortuga y en la sección "Conversión de final de línea" asegúrese de haber seleccionado la opción "Revisar como está: registrarse como está".
(2) y mantener las configuraciones restantes como están.
(3) una vez realizada la instalación
(4) escriba todas las extensiones de archivo que se convierten a formato UNIX en un archivo de texto (extensions.txt).
ex:*.dsp
*.dsw
(5) copie el archivo en su clon Ejecute el siguiente comando en GITBASH
while read -r a;
do
find . -type f -name "$a" -exec dos2unix {} /;
done<extension.txt
La forma normal de controlar esto es con git config
Por ejemplo
git config --global core.autocrlf true
Para detalles, desplácese hacia abajo en este enlace a Pro Git a la sección llamada "core.autocrlf"
Si desea saber en qué archivo está guardado, puede ejecutar el comando:
git config --global --edit
y el archivo de configuración global de git debería abrirse en un editor de texto, y puedes ver desde dónde se cargó ese archivo.