2013-01-15 14 views
7

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 
+0

Does 'git status' mostra il file che è diverso (cioè sporco)? – asm

+0

'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

+0

@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

risposta

0

Quando hai modifiche non provare:

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

per rimuovere i file locali e farli dall'indice .

Problemi correlati