core.autocrlf y core.safecrlf en la configuración de git

Directorio de artículos

prefacio

Amigos que usan git como herramienta de administración de versiones, ¿han encontrado el problema de que el script escrito por un colega no puede ejecutarse después de la actualización? El script lógicamente correcto no puede ejecutarse en otra máquina, muy probablemente debido al carácter de nueva línea. Modificar la configuración de core.autocrlf en git puede resolver el problema, entonces, ¿qué significa autocrlf? Déjame explicarte brevemente.

core.autocrlf

autocrlfEs una abreviatura de tres partes auto-cr-lf. Por separado, debe haber tres grupos de palabras automático/retorno de carro/salto de línea. La traducción literal es retorno de carro automático y salto de línea.

Todavía hablando del problema anterior, esto se debe a que Windows usa dos caracteres de retorno de carro (CR) y avance de línea (LF) para finalizar una línea, mientras que MacOS y Linux solo usan un carácter de avance de línea (LF) para finalizar una línea.

Cuando escribe un script de shell con un editor común en Windows, es probable que informe un error cuando lo ejecuta directamente en Linux, y el archivo editado en Linux generalmente se muestra como una línea cuando se abre en Windows.

Git es una herramienta de administración de versiones utilizada por varias personas. El sistema del usuario puede ser Windows, Linux o Mac. Por lo tanto, cuando un archivo se opera de forma conjunta, causará confusión con los saltos de línea. En este momento, debe usarse core Parámetros .autocrlf.

core.autocrlfEl parámetro no solo afecta la conversión de caracteres de nueva línea al pagar, sino que también afecta la conversión de caracteres de nueva línea al enviar. Hay tres valores opcionales true: , false,input

# 提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true

# 提交和检出时都不转换
git config --global core.autocrlf false

# 提交时转换为LF,检出时不转换
git config --global core.autocrlf input

De acuerdo con su definición, podemos elegir una forma segura de configurarlo en el sistema Windows truey configurarlo en Linux y Mac input. Si todos los usuarios solo trabajan bajo el mismo sistema, estará falsebien .

core.safecrlf

Debería haber escuchado más sobre el autocrlf anterior, pero este seguro puede ser escuchado por primera vez por muchas personas. Su valor predeterminado es solo cambiarlo falsepara truerechazar el envío de código con saltos de línea mixtos, es decir, si su código contiene Si contiene diferentes formatos de nueva línea en los dos sistemas al mismo tiempo, se prohibirá el envío. Si warnse solo advertirá, pero se puede enviar.

Resumir

  • Si se descarga la biblioteca git de cooperación de varias personas, el script que contiene no se puede ejecutar directamente, primero verifique si es un fantasma causado por saltos de línea
  • Configuración recomendada para plataformas Windowsgit config --global core.autocrlf true
  • Configuración recomendada para plataformas Linuxgit config --global core.autocrlf input
  • Puede utilizar las herramientas dos2unixy unix2dospara convertir LFy CRLFentre sí

==>> Enlace anti-escalada, no haga clic, explotará en el lugar y no seremos responsables de ello. <<==

Una generación del gigante literario Dongpo Layman escribió muchos artículos rezando por la lluvia~

Supongo que te gusta

Origin blog.csdn.net/shihengzhen101/article/details/129271813
Recomendado
Clasificación