[Git] Format des retours à la ligne sous Windows

Lorsque vous utilisez Git sous Windows et que vous rapatriez le contenu d’un repository, le format des retours à la ligne dans les fichiers récupérés, est automatiquement défini. Cela peut être problématique lorsque vous devez exécuter un script shell dans un conteneur Docker. Avec le comportement par défaut, vous devez éditer les fichiers .sh à la main pour en modifier le format de retours à la ligne de Windows (CR-LF) à Unix (LF).

Bien sûr, ce comportement – bien que gênant – peut être modifié assez aisément. Soit via l’invite de commandes, soit à l’aide d’un petit fichier à ajouter à la racine du repository.

Solution 1 : modifier l’option globale

Il existe une commande permettant de modifier globalement le paramètre.

git config --global core.autocrlf false

Solution 2 : ajouter un fichier .gitattributes

Dans votre repository, vous pouvez ajouter un fichier .gitattributes qui contiendra le comportement à adopter selon le type de fichiers. Créez ce fichier à la racine du projet. Comme cela ne concerne que les scripts, nous allons simplement y ajouter le contenu suivant.

* text=auto 
*.sh text eol=lf

Cela indique à l’exécutable git de forcer les retours à la ligne de type Unix pour les fichiers .sh, et d’utiliser le mode automatique pour le reste.

Vous pouvez dès lors sauvegarder et commit le fichier. Lorsque vous passerez d’une branche à l’autre, vos scripts auront toujours le bon format de retours à la ligne.

Si vous souhaitez obtenir davantage de documentation au sujet des attributs, rendez-vous sur le site de Git.

Voir aussi : Java – Log d’un repository SVN

Sources

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *