2011-10-25 19 views
9

Sto lavorando su Windows, ma potrebbe funzionare anche su Unix, quindi non ho bisogno di archiviare i finali di linea di Windows. Voglio solo sopprimere l'avvertimento.Come disattivare gli avvertimenti Git "LF sarà sostituito da CRLF"?

Ho trovato queste domande Stack Overflow che sono rilevanti:
git turn off "LF will be replaced by CRLF" warning
git, whitespace errors, squelching and autocrlf, the definitive answers

ho provato:
git core.whitespace config cr-at-EOL falso
git config core.whitespace cr-a -eol true
git config core.whitespace cr-at-eol nowarn

Ma questi non sembrano fare nulla. Qualcuno sa come disattivare gli avvertimenti?

Grazie.

risposta

7

Io uso semplicemente autocrlf=true nel file .git/config per coprire la maggior parte delle situazioni in Windows. Ci sono avvisi occasionali a seconda dei nuovi file sorgente.

Se si dispone di file speciali che non seguono lo schema, impostare un .gitattributes separatamente per loro, ad es. Ho file Matlab con *.m eol=lf.

+0

Al fine di elaborare per il totale dei neofiti Git come me: il file "config" si trova nella directory .git. Su Windows, l'attributo "nascosto" della directory è impostato. –

4

Ho usato in questo modo:

La configurazione git core.autocrlf comando consente di modificare il modo in Git gestisce fine riga. Ci vuole un singolo argomento.

Su Windows, è sufficiente passare true alla configurazione. Per esempio:

$ git config --global core.autocrlf true  
# Configure Git on Windows to properly handle line endings 

Si può anche fornire una bandiera --global speciale, che rende Git utilizzare le stesse impostazioni per la fine della riga attraverso ogni repository Git locale sul computer.

Dopo aver impostato l'opzione core.autocrlf e commesso un .gitattributes di file, è possibile che Git vuole impegnarsi file che non si è modificato. A questo punto, Git è desideroso di modificare le terminazioni di linea di ogni file.

Il modo migliore per configurare automaticamente la fine della riga del repository è quello di prima backup dei file con Git, eliminare tutti i file nel repository (tranne la directory .git), e quindi ripristinare i file tutti in una volta . Salva i tuoi file correnti in Git, in modo che nessuno dei tuoi lavori venga perso.

$ git add . -u 
$ git commit -m "Saving files before refreshing line endings" 

Rimuovi ogni file dall'indice di Git.

$ git rm --cached -r . 

Riscrivere l'indice Git per raccogliere tutte le nuove terminazioni di linea.

$ git reset --hard 

Aggiungere tutti i file modificati indietro e prepararli per un commit. Questo è la tua possibilità di ispezionare quali file, se presenti, sono rimasti invariati.

$ git add . 
# It is perfectly safe to see a lot of messages here that read 
# "warning: CRLF will be replaced by LF in file." 

Confermare le modifiche nel repository.

$ git commit -m "Normalize all the line endings" 

fonte: https://help.github.com/articles/dealing-with-line-endings/

0

sto sviluppando anche su Windows e Perché i nostri server sono alimentati da Linux e tutto il codice deve basare su Linux ho preferito cambiare tutti i miei file di LF invece di CRLF.

da Git riga di comando:

git config --global core.autocrlf false 

sto lavorando con IntelliJ IDEA quindi è abbastanza facile:

1) File -> Impostazioni -> Editor -> stile di codice : (per ogni nuovo file sarà creato )

a. Schema: default

b. Separatore di riga: unix e os x (\ n)

2) contrassegnare la radice del progetto -> file -> separatore di riga -> LF unix e os x (\ n) (per i file esistenti)

Nota: è possibile utilizzare anche app come dos2unix.exe o altri script.

di quanto ho fatto tramite linea di comando: (si può fare anche questo da l'idea)

git commit -m "bla bla" 
git add . 
git push origin master 

da allora, non ho ottenuto questi avvertimenti

Problemi correlati