Estoy aprendiendo Ruby on Rails y uso Windows 7. Cuando trato de enviar mis cambios a Git, recibo el fatal: LF would be replaced by CRLF
post fatal: LF would be replaced by CRLF
.
Parece que los rails generate
files con LF, no con CRLF. Por supuesto, puedo cambiar de
git config --global core.autocrlf true git config --global core.safecrlf true
a
git config --global core.autocrlf true git config --global core.safecrlf warn
pero no me gusta la posibilidad de aplastar cualquier binary comprometido en pedazos.
Traté de evitar el problema con .gitattributes
, pero a mis líneas les gusta
* text=auto *.rb text
no ayuda
¿Hay alguna manera de hacer que Rails genere files con finalización de CRLF? ¿O hay una forma de hacer que Git auto-transforme los files .rb
y .erb
, pero no otros?
No me gusta la posibilidad de aplastar cualquier binary comprometido en pedazos.
¿Estás seguro de que es un problema real?
Si desactiva las advertencias ( core.autocrlf true
), git hará los ajustes cuando se comprometa y podrá seguir siendo productivo.
Si realmente tienes una razón sólida para no querer hacer esto, vas a tener dificultades ya que no creo que haya una manera simple (siempre hay alguna forma) de que Rails genere files con la terminación CRLF y es extraño tener git auto-transform basado en el tipo de file.
Ciertamente puedo estar equivocado, pero parece que estás intentando demasiado para trabajar en contra de tus herramientas.
Posiblemente útil reference: git commit crea activos y files temporales por alguna razón
Si realmente quiere ir por el path de intentar configurar git para realizar estos cambios, puede consultar un controller de filter de atributo git como se sugiere en esta respuesta: ¿Puede git cambiar automáticamente entre espacios y tabs?
Otra reference útil a la solución propuesta anteriormente: http://sofes.miximages.com/a/2354278/1026898