Atlassian SourceTree: come modificare le terminazioni di linea a livello globale?


10

C'è un modo in Atlassian SourceTree o con il mio host git attuale (BitBucket) per cambiare le terminazioni di linea a livello globale per tutti i miei repository.

Penso che siano attualmente impostati su Unix (penso di averlo fatto per caso) ma sto sviluppando esclusivamente su Windows. Il mio IDE continua a darmi messaggi di avviso ed errori relativi alle terminazioni di linee miste nei miei file e mi piacerebbe correggerlo, ma ogni volta che spingo il mio progetto sul cloud, questo viene ripristinato alle terminazioni Unix, quindi anche se cambio batch le terminazioni di linea vengono comunque ripristinati.

Risposte:


12

È possibile configurare la gestione della fine riga per repository aggiungendo un file .gitattributes speciale alla cartella principale del repository Git. Se questo file viene eseguito il commit nel repository, sovrascrive l'impostazione core.autocrlf del singolo sviluppatore.

In questo file puoi configurare Git per rilevare automaticamente le terminazioni di linea.

Nota: - Non tutti gli strumenti grafici Git supportano il file .gitattributes, ad esempio l'IDE Eclipse attualmente non lo supporta.

Ecco un esempio di file .gitattributes. Puoi usarlo come modello per i tuoi repository:

# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text

# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary

Noterai che i file sono abbinati - *. C, * .sln, * .png--, separati da uno spazio, quindi dati un'impostazione: testo, testo eol = crlf, binario. Esamineremo alcune possibili impostazioni di seguito.

text = auto Git gestirà i file nel modo che ritiene migliore. Questa è una buona opzione predefinita.

text eol = crlf Git convertirà sempre le terminazioni di riga in CRLF al momento del pagamento. Dovresti usarlo per i file che devono conservare le terminazioni CRLF, anche su OSX o Linux. Ad esempio, ecco un progetto Windows che impone la terminazione di riga CRLF.

text eol = lf Git convertirà sempre le terminazioni di riga in LF al momento del pagamento. Dovresti usarlo per i file che devono conservare le terminazioni LF, anche su Windows. Ad esempio , ecco un progetto che impone le terminazioni di linea LF.

binario Git capirà che i file specificati non sono testo e non dovrebbe tentare di cambiarli. L'impostazione binaria è anche un alias per -text -diff.


I collegamenti esterni possono diventare non disponibili, nel qual caso la tua risposta avrebbe poco valore. Includere le informazioni essenziali nella risposta e utilizzare il collegamento per l'attribuzione e una fonte di ulteriori informazioni. Grazie.
fixer1234,

Spero che questo includa i dettagli richiesti
gpullen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.