251 votes

Windows git "warning : LF sera remplacé par CRLF", est-ce que cet avertissement est en queue de poisson ?

Env :

  • Windows 7
  • msysgit

Wheng I git commit il est dit :

warning: LF will be replaced by CRLF. 

Cette queue d'avertissement est-elle à l'envers ?
J'édite le fichier sous Windows, la fin de la ligne est CRLF comme cette photo :
enter image description here
Et git le change en LF pour le dépôt dans le dépôt.
Donc je pense que l'avertissement correct est :

warning: CRLF will be replaced by LF.

10voto

avp Points 383

Cela se produit parce que la configuration de GitHub Desktop sur Windows suppose CRLF mais l'éditeur de texte peut utiliser LF. Vous pouvez modifier les paramètres de votre référentiel local pour utiliser lf à la place.

Naviguez jusqu'à la racine du dépôt git et exécutez ceci dans le même ordre exactement

git config core.eol lf
git config core.autocrlf input

Source : Numéro de GitHub

3voto

Marsette Vona Points 21

Après que j'ai mis core.autocrlf=true J'obtenais "LF will be replaced by CRLF" (attention, pas "CRLF will be replaced by LF") lorsque je faisais git add (ou peut-être était-ce sur git commit ?) des fichiers édités sous Windows sur un référentiel (qui utilise LF) qui a été vérifié avant J'ai mis core.autocrlf=true .

J'ai créé une nouvelle caisse avec core.autocrlf=true et maintenant je ne reçois plus ces messages.

3voto

VonC Points 414372

Cette queue d'avertissement est-elle à l'envers ?

L'avertissement est avant tout source de confusion.
Git 2.37 (Q3 2022) le reformule et le clarifie.

Voir commettre c970d30 (07 avr. 2022) par Alex Henrie ( alexhenrie ) .
(fusionné par Junio C Hamano -- gitster -- sur commettre 0a88638 , 20 mai 2022)

convert : clarifier l'avertissement de conversion de fin de ligne

Signé par : Alex Henrie

L'avertissement concernant la conversion des fins de ligne est extrêmement confus.

LF will be replaced by CRLF in ...
The file will have its original line endings in your working directory.

Ses deux phrases utilisent chacune le mot "will" sans préciser de délai, ce qui donne l'impression que les deux phrases font référence au même délai.
En outre, il utilise l'expression "terminaisons de ligne originales" sans préciser si "original" signifie LF ou CRLF.

Reformulez l'avertissement pour indiquer clairement quand les fins de ligne seront modifiées et en quoi elles le seront.

Sur une plate-forme dont les fins de lignes natives ne sont pas CRLF (par exemple Linux), le caractère " git add " ( homme ) L'étape suivante déclenche le nouveau le message en question (plus d'avertissement) :

$ git config core.autocrlf true 
$ echo 'Hello world!' >hello.txt 
$ git add hello.txt 

In the working copy of 'hello.txt', CRLF will be replaced by LF 
the next time Git touches it.

Et sur une plateforme dont les terminaisons de ligne natives ne sont pas LF (par exemple Windows ), le " git add " ( homme ) L'étape suivante déclenche le nouveau le message en question (plus d'avertissement) :

$ git config core.autocrlf true 
$ echo 'Hello world!' >hello.txt 
$ git add hello.txt 

In the working copy of 'hello.txt', LF will be replaced by CRLF 
the next time Git touches it.

0voto

Ajay Points 140

J'ai rencontré un problème similaire et j'utilise vscode(v1.57) sous Windows. J'ai essayé les solutions définies dans d'autres réponses mais cela n'a pas fonctionné.

Pour moi, les étapes suivantes ont fonctionné :

  1. Dans le dossier racine, il y a un fichier nommé .editorconfig.
  2. ouvrez ce fichier et modifiez end_of_line = lf con end_of_line = crlf
  3. exécuter git rm --cached et l'avertissement est parti !

0voto

GMK Hussain Points 71

Assurez-vous que vous avez ajouté les fichiers ou dossiers inutiles dans .gitignore fichier.

par exemple node_modules

Si le problème persiste, exécutez cette commande

``git config --global core.autocrlf false``

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X