Git - LF Will Be Replaced by CRLF

Ashok Chapagai 24 Dezember 2021
Git - LF Will Be Replaced by CRLF

LF steht für Line Feed, was eine Möglichkeit darstellt, das Ende einer Zeile in UNIX-basierten Systemen darzustellen. In einem Windows-basierten System wird eine Zeile jedoch normalerweise durch CR (Carriage Return) und einen Zeilenvorschub (LF) ausgedrückt.

Dieses Problem tritt auf, wenn Sie ein UNIX-basiertes System (macOS) zum Pushen von Code verwenden, der Code hat eine LF-Endung.

Wenn Sie einen Windows-Rechner verwenden, Änderungen am Code vornehmen und einen Commit durchführen, wird er durch CRLF ersetzt, da git intelligent ist und nicht erwartet, dass Sie LF unter Windows-Betriebssystemen verwenden.

Ebenso verhält es sich umgekehrt, wenn die Warnung lautet: LF Will Be Replaced by CRLF. Sie verlieren Windows-basiertes CRLF nach dem Commit/Checkout und LF wird es ersetzen.

Behebung der Warnung LF Will Be Replaced by CRLF in Git

Eine Möglichkeit, die Warnung zu beheben, besteht darin, Änderungen an den Konfigurationsdateien vorzunehmen, die sich im Pfad befinden, in dem git installiert ist. Der Wert von code.autocrlf wird in der Datei gitconfig gespeichert unter %ProgramFiles(x86)%\git\etc\gitconfig oder ProgramFiles\git\etc\gitconfig und in /etc/gitconfig in Linux/Unix-basierte Betriebssysteme.

Wir können das Problem jedoch in verschiedenen Situationen beheben:

Wenn Sie das Projekt auf einem Unix-basierten Betriebssystem verwenden möchten, sollten Sie den Wert von core.autocrlf auf true setzen.

Wenn Sie das Projekt nur unter Windows verwenden möchten, sollte das Flag auf false gesetzt werden.

In Unix-basierten Betriebssystemen können Sie jedoch core.autocrlf nach Bedarf deaktivieren.

Bevor Sie Änderungen vornehmen, können Sie die aktuellen Einstellungen mit dem folgenden Befehl überprüfen:

git config core.autocrlf

Der Befehl gibt true oder false oder input aus, und Sie können nach Bedarf Änderungen vornehmen.

Behebung der Warnung LF Will Be Replaced by CRLF im gesamten System

Um das Problem systemweit zu beheben, können Sie Folgendes verwenden:

git config --system core.autocrlf false

Behebung der Warnung LF Will Be Replaced by CRLF pro Benutzer

Um das Problem je nach Benutzer zu beheben, können Sie Folgendes verwenden:

git config --global core.autocrlf false

Behebung der Warnung LF Will Be Replaced by CRLF nur für das Projekt

Um das Problem für ein bestimmtes Projekt zu beheben,

git config --local core.autocrlf false
Ashok Chapagai avatar Ashok Chapagai avatar

Ashok is an avid learner and senior software engineer with a keen interest in cyber security. He loves articulating his experience with words to wider audience.

LinkedIn GitHub