Duplicate possible:
git remplaçant LF par CRLF
Lorsque je crée une nouvelle application Rails, un avertissement s'affiche à propos du remplacement de LF. Je fais git init git add.
et puis boum! Je vois cette pop-up pour presque tous les fichiers. Habituellement, je continue à construire mon application et celle-ci disparaît après de nombreux changements de fichiers.
Exemple:
Le fichier aura sa fin de ligne d'origine dans votre répertoire de travail. avertissement: LF sera remplacé par CRLF dans Gemfile.
Le fichier aura sa fin de ligne d'origine dans votre répertoire de travail. avertissement: LF sera remplacé par CRLF dans Gemfile.lock.
Le fichier aura sa fin de ligne d'origine dans votre répertoire de travail. avertissement: LF sera remplacé par CRLF dans le fichier README.
Quelle est la différence entre LF et CRLF?
Devrais-je m'inquiéter à ce sujet à long terme ou simplement l'ignorer et continuer comme d'habitude?
Dans les systèmes Unix, la fin d’une ligne est représentée par un saut de ligne (LF). Dans Windows, une ligne est représentée par un retour chariot (CR) et un saut de ligne (LF) ainsi (CRLF). Lorsque vous obtenez le code de git qui a été téléchargé à partir d'un système Unix, il ne possède qu'un LF.
Si vous souhaitez désactiver cet avertissement, tapez-le dans la ligne de commande git.
git config core.autocrlf true
Si vous voulez prendre une décision intelligente sur la manière dont git doit gérer cela, lisez la documentation
Voici un extrait
Mise en forme et espaces
Les problèmes de mise en forme et d'espacement sont parmi les problèmes les plus frustrants et les plus subtils que de nombreux développeurs rencontrent lorsqu'ils collaborent, en particulier entre plates-formes. Il est très facile pour les correctifs ou d’autres travaux en collaboration d’introduire de subtiles modifications d’espace, car les éditeurs les introduisent en silence. Si vos fichiers touchaient un système Windows, leurs fins de ligne pourraient ê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 inversement), vous aurez probablement des problèmes de fin de ligne à un moment donné. 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, alors que les systèmes Mac et Linux n'utilisent que le caractère de saut de ligne. Ceci est un fait subtil mais incroyablement ennuyant du travail multiplateforme; de nombreux éditeurs sur Windows remplacent silencieusement les fins de ligne LF existantes par CRLF ou insèrent 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 lorsque vous ajoutez un fichier à l'index, et inversement lorsqu'il extrait du code sur votre système de fichiers. Vous pouvez activer cette fonctionnalité avec le paramètre core.autocrlf. Si vous utilisez une machine Windows, définissez-la sur true. Cette opération 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 LF fins de lignes, vous ne voulez pas que Git les convertisse automatiquement lorsque vous extrayez des fichiers; Cependant, si un fichier avec des terminaisons CRLF est introduit par inadvertance, vous pouvez vouloir que Git le répare. Vous pouvez demander à Git de convertir CRLF en LF lors de la validation, mais pas l'inverse, en définissant core.autocrlf sur entrée:
$ git config --global core.autocrlf input
Cette configuration devrait vous laisser des fins CRLF dans les extractions Windows, mais LF sur les systèmes Mac et Linux et dans le référentiel.
Si vous êtes un programmeur Windows réalisant un projet Windows uniquement, vous pouvez désactiver cette fonctionnalité et enregistrer les retours chariot dans le référentiel en définissant la valeur de configuration sur false:
$ git config --global core.autocrlf false
Si vous le souhaitez, vous pouvez désactiver cette fonctionnalité dans votre configuration git core en utilisant
git config core.autocrlf false
Mais il serait préférable de simplement se débarrasser des avertissements en utilisant
git config core.autocrlf true