Ich habe ein Git-Repository, auf das sowohl unter Windows als auch unter OS X zugegriffen wird und von dem ich weiß, dass es bereits einige Dateien mit CRLF-Zeilenenden enthält. Soweit ich das beurteilen kann, gibt es zwei Möglichkeiten, damit umzugehen:
Stellen Sie
core.autocrlf
zufalse
überall,Befolgen Sie die Anweisungen hier (auf den Hilfeseiten von GitHub), um das Repository so zu konvertieren, dass es nur LF-Zeilenenden enthält, und setzen Sie
core.autocrlf
es anschließendtrue
auf Windows undinput
OS X. Das Problem dabei ist, dass ich Binärdateien im Repository habe Das:- sind in Gitattributen nicht korrekt als binär markiert, und
- zufällig sowohl CRLFs als auch LFs enthalten,
Sie werden beschädigt. Möglicherweise enthält mein Repository solche Dateien.
Warum sollte ich die Konvertierung von Git am Ende nicht einfach deaktivieren? Es gibt viele vage Warnungen im Internet, dass das core.autocrlf
Ausschalten Probleme verursacht, aber nur sehr wenige spezifische . Das einzige, was ich bisher gefunden habe, ist, dass kdiff3 keine CRLF-Endungen verarbeiten kann (für mich kein Problem) und dass einige Texteditoren Probleme mit dem Zeilenende haben (auch für mich kein Problem).
Das Repository befindet sich in meinem Unternehmen, sodass ich mich nicht darum kümmern muss, es für Personen mit unterschiedlichen Autocrlf-Einstellungen oder Zeilenendanforderungen freizugeben.
Gibt es andere Probleme, wenn ich nur die Zeilenenden so belasse, wie ich es nicht weiß?
autocrlf
auf false zu setzen . Ich suche nach Gründen, um es auf wahr zu setzen.
autocrlf = input
: Es scheint die perfekte Lösung zwischen den beiden Extremen zu sein: Sie halten Ihr Repo sauber von CRLF-Mist, und lokal können Windows-Entwickler verwenden, was sie wollen, ohne dass ihre lokalen Dateien automatisch etwas Magisches bewirken. (Sie möchten LF möglicherweise aus verschiedenen Gründen lokal, daher true
ist es meiner Meinung nach schlecht.) Ich kann keine Nachteile bei der Verwendung feststellen autocrlf = input
.
autocrlf
falsch gehe.