Usar gitattributes para replace las terminaciones de línea del repository

Intenté normalizar los finales de línea en un repository compartido, que contiene Windows y files específicos de Unix, pero no puedo getlo actuando como espero que funcione.

Todos desarrollamos en cajas de Windows, pero requerimos que las terminaciones de línea (dependiendo del tipo de file) sean LF o CRLF. Se ha recomendado a los desarrolladores que mantengan el autocrlf en falso para que algunos files que requieren la presencia de CRLF no se modifiquen dentro del repository (hay una mezcla de formattings de files de Windows y Unix) y modifiquen los finales de línea manualmente si es necesario.

Alguien ha aconsejado que el uso de gitattributes podría ayudar a aliviar la necesidad de controlar qué terminaciones de files deberían usarse, pero no he podido lograr que funcionen.

Estas son mis configuraciones de usuario git:

[core] eol = native bare = false filemode = false hideDotFiles = dotGitOnly ignorecase = true repositoryformatversion = 0 symlinks = false autocrlf = true editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -nosession -noPlugin 

Configuración de git programdata:

 [core] fscache = true 

configuration de repository git:

 [core] logallrefupdates = true 

file .gitattributes:

 # convert all to lf * text eol=lf # convert these to windows line endings *.sbm text eol=crlf *.sbp text eol=crlf *.sin text eol=crlf *.bat text eol=crlf *.cmd text eol=crlf *.ini text eol=crlf *.inf text eol=crlf /strataclient/BubbleHelp/* text eol=crlf # don't touch binary files *.dot binary *.dll binary *.exe binary *.ocx binary *.lic binary *.cfn binary 

Para probarlo, he creado una pequeña confirmación que contiene el file .gitattributes (que he modificado para probar diferentes combinaciones) y luego ejecuto los siguientes commands:

 git rm --cached -r . git reset --hard 

Parece que cambia algunos finales de línea, pero no de la manera que esperaba.

Intenté seguir varias guías, pero ninguna parece hacer esperar cambios de gran scope. Estoy esperando que todos los files de text se cambien a LF (por ejemplo, java, properties, txt) a less que sea uno de los types listdos en CRLF (por ejemplo, cmd, bat).