web-dev-qa-db-fra.com

Comment modifier les paramètres de fin de ligne

Existe-t-il un fichier ou un menu qui me permette de modifier les paramètres permettant de gérer les fins de ligne?

Il y a 3 options:

  1. Commander de style Windows, commettre de style Unix

    Git convertira LF en CRLF lors de l'extraction de fichiers texte. Lors de la validation des fichiers texte, CRLF sera converti en LF. Pour les projets multiplates-formes, il s'agit du paramètre recommandé sous Windows ("core.autocrlf" est défini sur "true").

  2. Commander tel quel, commettre de style Unix

    Git n'effectuera aucune conversion lors de l'extraction de fichiers texte. Lors de la validation des fichiers texte, CRLF sera converti en LF. Pour les projets multiplates-formes, il s'agit du paramètre recommandé sous Unix ("core.autocrlf" est défini sur "entrée").

  3. Commander tel quel, commettre tel quel

    Git n'effectuera aucune conversion lors de l'extraction ou de la validation de fichiers texte. Le choix de cette option n'est pas recommandé pour les projets multiplates-formes ("core.autocrlf" est défini sur "false")

470
qwertymk

La manière normale de contrôler ceci est avec git config

Par exemple

git config --global core.autocrlf true

Pour plus de détails, faites défiler vers le bas dans ce lien vers Pro Git vers la section intitulée "core.autocrlf"


Si vous voulez savoir dans quel fichier il est enregistré, vous pouvez exécuter la commande:

git config --global --edit

et le fichier de configuration global git devrait s'ouvrir dans un éditeur de texte, et vous pouvez voir d'où ce fichier était chargé.

427
CodingWithSpike

Format de fin de ligne utilisé dans le système d'exploitation

  • Windows: paire CR (retour chariot \r) et LF (saut de ligne \n)
  • OSX, Linux: LF (LineFeed \n)

Nous pouvons configurer git pour corriger automatiquement les formats de fin de ligne pour chaque système d'exploitation de deux manières.

  1. Configuration Git Global
  2. Utiliser le fichier .gitattributes

Configuration globale

git config --global core.autocrlf input

Cela corrigera toute variable CRLF en LF lorsque vous validez.

git config --global core.autocrlf true

Cela vous assurera que, lorsque vous passerez à la caisse dans Windows, tous les LF seront convertis en CRLF

Fichier .gitattributes

C'est une bonne idée de conserver un fichier .gitattributes, car nous ne voulons pas nous attendre à ce que tous les membres de notre équipe définissent leur configuration. Ce fichier doit conserver le chemin racine du référentiel et s'il en existe un, git le respectera.

* text=auto

Cela traitera tous les fichiers en tant que fichiers texte et les convertira en ligne du système d’exploitation se terminant à la caisse, puis reviendra automatiquement en LF lors de la validation. Si vous voulez dire explicitement, utilisez

* text eol=crlf
* text eol=lf

Le premier est pour le paiement et le second est pour le commit.

*.jpg binary

Traitez toutes les images .jpg comme des fichiers binaires. Donc, aucune conversion nécessaire

137
Jasnan

Pour une solution de configuration de référentiel pouvant être redistribuée à tous les développeurs, consultez l'attribut text dans le fichier . Gitattributes . De cette façon, les développeurs ne doivent pas définir manuellement leurs propres fins de lignes sur le référentiel. Comme différents référentiels peuvent avoir différents styles de fin de ligne, global core.autocrlf n'est pas le meilleur, du moins à mon avis.

Par exemple, la désactivation de cet attribut sur un chemin donné [. - text] forcera git à ne pas toucher les fins de ligne lors de l’enregistrement ou de la sortie. À mon avis, c'est le meilleur comportement, car la plupart des éditeurs de texte modernes peuvent gérer les deux types de fins de ligne. En outre, si, en tant que développeur, vous souhaitez toujours effectuer une conversion de fin de ligne lors de l'archivage, vous pouvez toujours définir le chemin d'accès pour qu'il corresponde à certains fichiers ou définir l'attribut eol (dans .gitattributes) sur votre référentiel.

Consultez également cet article connexe, qui décrit plus en détail les attributs de fichier et de texte .gitattributes: Quelle est la meilleure stratégie de traitement de CRLF (retour chariot, saut de ligne) avec Git?

30
Fazi

Si vous souhaitez reconvertir les formats de fichier qui ont été modifiés au format UNIX à partir du format PC.

(1) Vous devez réinstaller tortoise GIT et, dans la section "Conversion de fin de ligne", assurez-vous que vous avez sélectionné l'option "Extraire tel quel - Archiver tel quel".

(2) et conservez les configurations restantes telles quelles.

(3) une fois l'installation terminée

(4) écrivez toutes les extensions de fichier converties au format UNIX dans un fichier texte (extensions.txt).

ex:*.dsp
   *.dsw

(5) copiez le fichier dans votre clone Exécutez la commande suivante dans GITBASH

while read -r a;
do
find . -type f -name "$a" -exec dos2unix {} \;
done<extension.txt
2
Nishanth