Question LF sera remplacé par CRLF dans git - Qu'est-ce que c'est et est-ce important? [dupliquer]


Dupliquer possible:
git remplaçant LF avec CRLF 

Quand je crée une nouvelle application de rails, je vois un avertissement à propos du remplacement de LF. je fais     git init     git ajouter.

et puis boom! Je vois cela apparaître pour presque tous les fichiers. En général, je continue simplement à créer mon application et celle-ci disparaît après de nombreux changements dans les fichiers.

Exemple:

Le fichier aura ses fins de ligne d'origine dans votre répertoire de travail.   avertissement: LF sera remplacé par CRLF dans Gemfile.

Le fichier aura ses fins de ligne d'origine dans votre répertoire de travail.   avertissement: LF sera remplacé par CRLF dans Gemfile.lock.

Le fichier aura ses fins de ligne d'origine dans votre répertoire de travail.   warning: LF sera remplacé par CRLF dans README.

Quelle est la différence entre LF et CRLF?

Devrais-je m'inquiéter de cela à long terme ou simplement l'ignorer et continuer comme d'habitude?


818
2018-04-29 15:28


origine


Réponses:


Dans les systèmes Unix, la fin d'une ligne est représentée par un saut de ligne (LF). Dans les fenêtres, une ligne est représentée avec un retour chariot (CR) et un saut de ligne (LF) ainsi (CRLF). Lorsque vous obtenez un code de git qui a été téléchargé à partir d'un système Unix, ils auront seulement un LF.

Si vous voulez désactiver cet avertissement, tapez ceci dans la ligne de commande git

git config core.autocrlf true

Si vous voulez prendre une décision intelligente comment git devrait gérer cela, lire la documentation 

Voici un extrait

Formatage et espaces

Les problèmes de formatage et d'espace sont parmi les plus frustrants   problèmes subtils rencontrés par de nombreux développeurs lors de la collaboration,   en particulier multi-plateforme. C'est très facile pour les correctifs ou autres   travail collaboré pour introduire des changements subtils d'espace parce que   éditeurs les introduisent silencieusement, et si vos fichiers touchent jamais un   Système Windows, leurs fins de ligne peuvent être remplacées. Git a quelques   options de configuration pour résoudre ces problèmes.

core.autocrlf

Si vous programmez sur Windows et travaillez avec des personnes qui ne le sont pas   (ou vice-versa), vous rencontrerez probablement des problèmes de fin de ligne   point. En effet, Windows utilise à la fois un caractère de retour chariot   et un caractère de saut de ligne pour les nouvelles lignes dans ses fichiers, tandis que Mac et   Les systèmes Linux utilisent uniquement le caractère de saut de ligne. C'est un subtil mais   fait incroyablement agaçant de travail multiplateforme; de nombreux éditeurs sur   Windows remplace silencieusement les fins de ligne de style LF existantes par CRLF, ou   insérer les deux caractères de fin de ligne lorsque l'utilisateur appuie sur la touche Entrée.

Git peut gérer cela en convertissant automatiquement les fins de ligne CRLF en LF quand   vous ajoutez un fichier à l'index, et vice versa quand il extrait le code   sur votre système de fichiers. Vous pouvez activer cette fonctionnalité avec le   paramètre core.autocrlf. Si vous utilisez un ordinateur Windows, définissez-le sur true   - Ceci convertit les terminaisons LF en CRLF lorsque vous extrayez le code:

$ git config --global core.autocrlf true

Si vous utilisez un système Linux ou Mac qui utilise les terminaisons de ligne LF, vous   ne veut pas que Git les convertisse automatiquement lorsque vous extrayez des fichiers;   cependant, si un fichier avec des fins CRLF est accidentellement introduit,   alors vous pouvez vouloir que Git le corrige. Vous pouvez dire à Git de convertir CRLF en   LF en validation mais pas l'inverse en paramétrant core.autocrlf sur   contribution:

$ git config --global core.autocrlf input

Cette configuration devrait vous laisser avec des terminaisons CRLF dans les caisses de Windows,   mais les terminaisons LF sur les systèmes Mac et Linux et dans le référentiel.

Si vous êtes un programmeur Windows faisant un projet Windows uniquement, alors vous   pouvez désactiver cette fonctionnalité, en enregistrant les retours de chariot dans le   référentiel en définissant la valeur de configuration sur false:

$ git config --global core.autocrlf false

1060
2018-04-29 15:34



Si vous le souhaitez, vous pouvez désactiver cette fonctionnalité dans votre configuration de base git en utilisant

git config core.autocrlf false

Mais il vaudrait mieux se débarrasser des avertissements en utilisant

git config core.autocrlf true

309
2018-02-01 10:45