<p>Ces messages sont dus à une valeur par défaut incorrecte de <code>core.autocrlf</code> sous Windows.</p>
<p>Le concept d’<code>autocrlf</code> est de gérer les conversions de fin de ligne de manière transparente. Et il le fait !</p>
<p><strong>Mauvaise nouvelle</strong> : la valeur doit être configurée manuellement.</p>
<p><strong>Bonne nouvelle</strong> : cela ne doit être fait qu’<em>une seule</em> fois par installation de Git (un paramètre par projet est aussi possible).</p>
<p><strong>Comment fonctionne <code>autocrlf</code></strong> :</p>
<pre><code class="lang-auto">core.autocrlf=true: core.autocrlf=input: core.autocrlf=false:
repository repository repository
^ V ^ V ^ V
/ \ / \ / \
crlf->lf lf->crlf crlf->lf \ / \
/ \ / \ / \
</code></pre>
<p>Ici <code>crlf</code> = marqueur de fin de ligne style Windows, <code>lf</code> = style Unix (également utilisé sur Mac depuis Mac OS X).</p>
<p>(Le <code>cr</code> pré-OSX n’est pas affecté pour aucune des trois options ci-dessus.)</p>
<p><strong>Quand cet avertissement apparaît-il (sous Windows) ?</strong></p>
<pre><code>-- autocrlf = true si vous avez des lf de style Unix dans l'un de vos fichiers (= RAREMENT),
-- autocrlf = input si vous avez des crlf de style Windows dans l'un de vos fichiers (= presque TOUJOURS),
-- autocrlf = false -- JAMAIS !
</code></pre>
<p><strong>Que signifie cet avertissement ?</strong></p>
<p>L’avertissement “<em>LF will be replaced by CRLF</em>” dit que vous (ayant <code>autocrlf</code>=<code>true</code>) perdrez vos LF de style Unix après un cycle commit-checkout (ils seront remplacés par des CRLF de style Windows). Git ne s’attend pas à ce que vous utilisiez des LF de style Unix sous Windows.</p>
<p>L’avertissement “<em>CRLF will be replaced by LF</em>” dit que vous (ayant <code>autocrlf</code>=<code>input</code>) perdrez vos CRLF de style Windows après un cycle commit-checkout (ils seront remplacés par des LF de style Unix). N’utilisez pas <code>input</code> sous Windows.</p>
<p><strong>Encore une autre façon de montrer comment fonctionne <code>autocrlf</code></strong></p>
<pre><code class="lang-auto">1) true: x -> LF -> CRLF
2) input: x -> LF -> LF
3) false: x -> x -> x
</code></pre>
<p>où <em>x</em> est soit CRLF (style Windows) soit LF (style Unix) et les flèches représentent</p>
<pre><code class="lang-auto">file to commit
(Réponse tronquée)</code></pre>