Ho git su windows configurato con git config --global core.autocrlf false
in modo che git non converta automaticamente i file al checkout dalle terminazioni di linea LF a CRLF.Come ottenere git per cambiare la linea che termina nella directory di lavoro?
Quando creo un nuovo file su Windows e lo aggiungo ottengo il seguente output.
git add windows-file.txt
warning: CRLF will be replaced by LF in windows-file.txt.
The file will have its original line endings in your working directory.
Così git sta cambiando la mia linea finire da Windows a UNIX quando Windows-file.txt viene aggiunto all'indice git, che è quello che voglio.
Il problema che ho è che la versione della directory di lavoro non è cambiata, come posso configurare git in modo che cambi le terminazioni di riga sia della directory di lavoro che dell'indice git?
UPDATE
Dopo l'add e lo stato git commit non mostra differenze anche se la versione directory di lavoro locale ha finestre terminazioni di riga e la versione di pronti contro termine ha fine riga di UNIX.
UPDATE Contenuto .gitattributes alla radice del repo
# Set default behaviour, in case users don't have core.autocrlf set.
text eol=lf
# These files are text and should be normalized (convert crlf => lf)
*.java text
*.xml text
*.cmd text
*.sh text
*.txt text
*.md text
*.js text
*.jsp text
*.html text
*.htm text
*.vm text
.project text
.classpath text
*.properties text
*.txt text
*.bat text
*.launch text
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.jar binary
*.class binary
*.gz binary
*.tar binary
*.dll binary
*.exe binary
*.zip binary
Does 'git status' mostra il file che è diverso (cioè sporco)? – asm
'git config --global' cambia le impostazioni globali. È possibile che l'impostazione locale per repository sia ancora in vigore. cosa mostra 'git config core.autocrlf'? – mvp
@mvp Ho familiarità con l'impostazione git per repository locale, ma definisco le cose in maniera globa perché anch'io uso egit che supporta ancora .gitattributes – ams