Wie deaktiviere ich Git-Warnungen “LF wird durch CRLF ersetzt”?
Lesezeit: 5 Minuten
B Sieben
Ich arbeite unter Windows, kann aber auch unter Unix arbeiten, sodass ich keine Windows-Zeilenenden speichern muss. Ich möchte nur die Warnung unterdrücken.
Ich habe diese verwandten Stack Overflow-Fragen gefunden:
Wie schalte ich mit Git die Warnung „LF wird durch CRLF ersetzt“ aus?
Git, Whitespace-Fehler, Squelching und Autocrlf, die endgültigen Antworten
Aber diese scheinen nichts zu tun. Weiß jemand wie man die Warnungen ausschaltet?
Siehe auch: Wie schalte ich mit Git die Warnung „LF wird durch CRLF ersetzt“ aus
– KyleMit ♦
2. Januar 2022 um 13:57 Uhr
Philipp Oakley
Ich benutze einfach autocrlf=true im .git/config Datei, um die meisten Situationen in Windows abzudecken. Abhängig von neuen Quelldateien gibt es gelegentlich Warnungen.
Wenn Sie spezielle Dateien haben, die dem Schema nicht folgen, richten Sie eine .gitattributes separat für sie ein, z. B. habe ich Matlab-Dateien mit *.m eol=lf.
Zur Erläuterung für totale Git-Neulinge wie mich: Die Datei “config” befindet sich im .git-Verzeichnis. Unter Windows ist das Attribut “versteckt” des Verzeichnisses gesetzt.
– Bob Stine
5. September 2013 um 18:51 Uhr
Dadurch werden die Warnungen nicht deaktiviert. Es ändert die automatische Zeilenende-Konvertierung von gits, um textish-Dateien in git einzuchecken LF und sie zu überprüfen CLRF Zeilenenden. Es ist auch unüblich, dies per Repo einzurichten. Stattdessen erhalten Sie beim Einchecken Warnungen CLRF Dateien, durch die sie ersetzt werden LF
– CervEd
10. Juni 2021 um 13:35 Uhr
Ich habe auf diese Weise verwendet:
Die git-config core.autocrlf -Befehl wird verwendet, um zu ändern, wie Git mit Zeilenenden umgeht. Es braucht ein einziges Argument.
Unter Windows geben Sie einfach weiter true zur Konfiguration. Zum Beispiel:
$ git config --global core.autocrlf true
# Configure Git on Windows to properly handle line endings
Sie können auch ein spezielles –global -Flag bereitstellen, das Git dazu bringt, dieselben Einstellungen für Zeilenenden in allen lokalen Git-Repositorys auf Ihrem Computer zu verwenden.
Nachdem Sie die eingestellt haben core.autocrlf Option und verpflichtet a .gitattribute -Datei, stellen Sie möglicherweise fest, dass Git Dateien festschreiben möchte, die Sie nicht geändert haben. An diesem Punkt ist Git bestrebt, die Zeilenenden jeder Datei für Sie zu ändern.
Der beste Weg, die Zeilenenden Ihres Repositorys automatisch zu konfigurieren, besteht darin, zuerst Ihre Dateien mit Git zu sichern und jede Datei in Ihrem Repository zu löschen (außer dem .git-Verzeichnis) und dann alle Dateien auf einmal wiederherstellen. Speichern Sie Ihre aktuellen Dateien in Git, damit nichts von Ihrer Arbeit verloren geht.
$ git add . -u
$ git commit -m "Saving files before refreshing line endings"
Entfernen Sie jede Datei aus dem Git-Index.
$ git rm --cached -r .
Schreiben Sie den Git-Index neu, um alle neuen Zeilenenden aufzunehmen.
$ git reset --hard
Fügen Sie alle Ihre geänderten Dateien wieder hinzu und bereiten Sie sie für einen Commit vor. Dies ist Ihre Chance, zu überprüfen, welche Dateien, falls vorhanden, unverändert waren.
$ git add .
# It is perfectly safe to see a lot of messages here that read
# "warning: CRLF will be replaced by LF in file."
Diese Antwort deaktiviert auch nicht die Warnungen, sondern ändert, wie das Zeilenende von Dateien behandelt wird, die es ein- und auscheckt. Dies ist die richtige Antwort stackoverflow.com/a/14640908/1507124
– CervEd
10. Juni 2021 um 13:44 Uhr
Sie können die Warnung mit ausschalten
git config --global core.safecrlf false
(Dadurch wird nur die Warnung ausgeschaltet, nicht die Funktion selbst.)
https://stackoverflow.com/a/14640908/1507124
Die Frage ist, wie man die Warnungen ausschaltet, die beim Einchecken von Dateien in Git generiert werden, wenn eine Zeilenende-Konvertierung mit gesetzt ist autocrlf.
Dies sind Warnungen, dass Zeilenenden nicht beibehalten werden. Dh. Wenn Sie eine Datei in einem bestimmten Zustand hatten, checken Sie diese in Git ein, und Sie sollten nicht erwarten, dass sie genau diesen Zustand hat, wenn Sie sie zu einem anderen Zeitpunkt auschecken. Oder wenn jemand anderes es überprüft.
Wenn Sie die Einstellung von ändern core.autoclrf, ändern Sie nur die Einstellung, in welchem Format die Dateien mit und nach Erweiterung ausgecheckt werden sollen, und schalten die Warnung auf „CRLF wird durch LF ersetzt“. Es sei denn, Sie ändern es zu inputwas in den meisten Fällen die Dinge in ein Chaos verwandelt.
Ob Zeilenenden von Bedeutung sind oder nicht, hängt vom Projekt ab und sollte projektweit mit eingestellt werden .gitattributes.
Ich bin überrascht, dass diese Antwort nicht mehr positiv bewertet wird. es ist die einzige Antwort, die die ursprüngliche Frage richtig beantwortet. Der core.autocrlf Die Einstellung betrifft, wie Zeilenenden behandelt werden, was sich von dem unterscheidet, was gefragt wird, es ist in der Tat das core.safecrlf Einstellung, die die Warnungen selbst behandelt.
– Derech
15. Februar um 12:50 Uhr
dsaydon
Ich entwickle auch auf Windows und Da unsere Server von Linux betrieben werden und der gesamte Code auf Linux basieren muss, habe ich es vorgezogen, alle meine Dateien auf LF anstatt auf CRLF umzustellen.
von der git-Befehlszeile:
git config --global core.autocrlf false
Ich arbeite mit Intellij Idea, also ist es ganz einfach:
1) Datei –> Einstellungen –> Editor –> Codestil: (für jede neue Datei wird erstellt)
A. Schema: Standard
B. Zeilentrenner: unix und os x (\n)
2) Markieren Sie das Stammverzeichnis des Projekts –> Datei –> Zeilentrenner –> LF unix und os x (\n) (für vorhandene Dateien)
Anmerkung: Sie können auch Apps wie dos2unix.exe oder einige andere Skripte verwenden.
als ich es mit meiner Befehlszeile getan habe: (Sie können dies auch von der Idee her tun)
Siehe auch: Wie schalte ich mit Git die Warnung „LF wird durch CRLF ersetzt“ aus
– KyleMit
♦
2. Januar 2022 um 13:57 Uhr