Quiero poder trabajar en mis proyectos de git usando tanto la aplicación Github para Windows como git en la línea de command usando Cygwin (en Windows).
Pero sigo teniendo problemas con los finales de línea cuando cambio de uno a otro.
Si con la herramienta de línea de command el repository no tiene cambios, querrá modificar todos los files con la aplicación Github. Si realizo los cambios con la aplicación Github, querrá cambiarla con la herramienta de command-line.
Después de una buena cantidad de testings, no pude hacer que funcione para ambas herramientas.
¿Qué lo haría funcionar? En los .gitatributes que actualmente tengo establecidos: * text = auto Pero no ayuda
Este es un error de GHfW que ocurre cuando la configuration de su repository y los datos en su repository no constringn.
Si configura un file para traducir a terminaciones de línea CRLF, por ejemplo, estableciendo core.autocrlf
en true
, pero tiene blobs en su repository que ya están en formatting CRLF (probablemente porque alguien no ha configurado core.autocrlf
en true ) entonces este problema puede ocurrir.
En este caso, GHfW traduce los CRLF en el repository de forma diferente que msysgit. Como resultado, algunos o todos los files parecían sucios.
Recomendaría un enfoque coherente para su CRLF en todo su equipo para evitar cualquier ambigüedad por parte de las herramientas de git en cuanto a lo que deberían hacer con sus terminaciones de línea. Dicho esto, este error recientemente se corrigió en libgit2, la biblioteca que subyace a GHfW, y debería abrirse path en GHfW pronto.
Trabajar tanto con Git Bash como con Cygwin en Windows va a hacer que Git confunda. Es decir:
CRLF
para revisar files de text. CRLF
en Cygwin, cree que LF
se modifica en CRLF
para que git informe un montón de cambios de files. Una forma de arreglar esto es crear .gitattributes
file .gitattributes
en la raíz del repository y agregar líneas como las siguientes:
*.txt text eol=lf
Le dice a git cuando encuentra el file con el sufijo .txt
, usa LF
tanto al escribir en "database (.git)" como en el directory de trabajo.
reference aquí
He clonado un repository (con files con CRLF) en mis windows usando GitHub 2.7.0.24. Luego quise usar la versión de mi cygwin's git 2.1.4.
Edité .git / config agregando "autocrlf = true" en la sección [core]. (Con una tabulación real antes de "autocrlf = true")
Ahora el idiota de cygwin dice que estoy actualizado sin modificaciones.
Guardo el CRLF en los files porque fueron creados de esa manera en el repository original.
Ya no usaré la aplicación GitHub …
Noté que los conflictos de fusión están agregando líneas <<<< ==== >>>> sin CR, pero se eliminarán cuando resuelva los conflictos.