tipos tag remove qué existen example etiquetas crear git msysgit

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:

  1. 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")

  2. 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").

  3. 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) y LF (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.

  1. Configuración global de Git
  2. Utilice el archivo .gitattributes

configuración global

En Linux / OSX

git config --global core.autocrlf input

Esto arreglará cualquier CRLF a LF cuando te comprometas.

En windows

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.