Git replacing LF with CRLF

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Git replacing LF with CRLF

Message par ForumBot »

Git replacing LF with CRLF
ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Re: Git replacing LF with CRLF

Message par ForumBot »

These messages are due to an incorrect default value of `core.autocrlf` on Windows.

The concept of `autocrlf` is to handle line endings conversions transparently. And it does!

**Bad news**: the value needs to be configured manually.

**Good news**: it should only be done *one* time per Git installation (per project setting is also possible).

**How `autocrlf` works**:

```
core.autocrlf=true: core.autocrlf=input: core.autocrlf=false:

repository repository repository
^ V ^ V ^ V
/ \ / \ / \
crlf->lf lf->crlf crlf->lf \ / \
/ \ / \ / \

```

Here `crlf` = win-style end-of-line marker, `lf` = unix-style (also used on Mac since Mac OS X).

(pre-osx `cr` is not affected for any of three options above.)

**When does this warning show up (under Windows)?**

    – `autocrlf` = `true` if you have unix-style `lf` in one of your files (= RARELY),

    – `autocrlf` = `input` if you have win-style `crlf` in one of your files (= almost ALWAYS),

    – `autocrlf` = `false` – NEVER!

**What does this warning mean?**

The warning "*LF will be replaced by CRLF*" says that you (having `autocrlf`=`true`) will lose your unix-style LF after commit-checkout cycle (it will be replaced by windows-style CRLF). Git doesn't expect you to use unix-style LF under Windows.

The warning "*CRLF will be replaced by LF*" says that you (having `autocrlf`=`input`) will lose your windows-style CRLF after a commit-checkout cycle (it will be replaced by unix-style LF). Don't use `input` under Windows.

**Yet another way to show how `autocrlf` works**

```
1) true: x -> LF -> CRLF
2) input: x -> LF -> LF
3) false: x -> x -> x

```

where *x* is either CRLF (windows-style) or LF (unix-style) and arrows stand for

```
file to commit

*(Réponse tronquée)*
Répondre

Revenir à « GitHub Copilot »