password guardar credenciales configurar borrar and git line-endings

guardar - Recomendación definitiva para la configuración de git autocrlf



git config--global (3)

GIT NO tendría SHA1 común para dos archivos de texto con texto idéntico pero diferentes mecanismos de fin de línea (EOL) dentro de la representación binaria. El contenido se almacena como un blob, que se reutiliza si se deposita otra copia idéntica en el repositorio (¡ahorrando espacio!)

La opción predeterminada tomada por (el) GIT (diseñadores) es usar el carácter EOL de estilo * nix (solo LF) siempre que sea posible, de modo que para el mismo contenido de texto se obtenga el mismo SHA1. (Probablemente una consideración importante ;-)

Debido a que el contenido / blob ya no recuerda la elección EOL original del usuario (recuerde que posiblemente ahora esté en algún repositorio distante), Git tiene que hacer algunas conjeturas (basadas en opciones) sobre cómo recrear el archivo original del usuario (¿era CRLF o simplemente LF) de una manera que usted (y sus herramientas) pueden usar.

La recomendación normal es que cada usuario (a) se convierta localmente en terminaciones LF * nix al comprometerse en un blob (para que todos vean los nombres blob SHA1 comunes) (a / k / a lo correcto), y (b) configure localmente el opción de recreación a su configuración del sistema local, por ejemplo, * nix (LF) o Windows (CRLF), etc.

Establezca algunos estándares locales para sus usuarios, y tenga un gran compromiso de corrección EOL / LF / CRLF y Whitespace Correction '', y estará bien (además de entrenamiento de capacitación de nuevos usuarios)

También puede asegurarse de que (cada usuario) utilice una configuración común de ajuste de espacio en blanco para que las pestañas v espacios y los espacios en blanco posteriores no causen más inconvenientes.

Uso Windows, Mac OS X y Linux diariamente. Utilizo git en todos estos entornos, extrayendo repositorios que usan las personas con diferentes opciones para los finales de línea.

¿Existe una recomendación definitiva para establecer core.autocrlf en mi situación?


Un problema que a menudo no se menciona en estas discusiones: si desarrolla scripts de shell en Windows (por ejemplo, en cygwin) y los confirma con CRLF (autocrlf = false), se bloquearán en cuadros * nix con mensajes de error inútiles. (Puede haber casos similares con otros lenguajes de scripting.) Después de rascarse la cabeza durante media hora, recordará y luego unirá a los pequeños sinvergüenzas. Si trabaja en un entorno mixto (por ejemplo, implementando desde Windows a un servidor Linux) y desea establecer autocrlf en falso, ASEGÚRESE de que todos los editores de Windows utilicen unix (lf) terminaciones de línea. De lo contrario, configure autocrlf para ingresar (y rezar). La mayoría de los programas de Windows del siglo XXI son cómodos sin los CR de la impresora de línea de principios de los 80, por lo que es una buena idea configurar los finales de línea en LF (Unix) de todos modos.


Yo recomendaría, como lo hice en esta pregunta SO , establecerlo en falso.

Si puede evitar modificar cualquier eol (con su editor), entonces sería mejor que retrase su trabajo con esos eol sin cambios (es decir, "tal como los encontró").