Nos formations

Apprenez + et encore plus vite !

Des formations complètes (cours, exercices, quiz) pour progresser dans votre carrière et sortir du lot !

Découvrir les cours

Plus de 30h de formations disponibles

Résoudre les problèmes de casse avec les noms de fichiers sous Git

Vous avez passé le nom d'un fichier en minuscule (ou inversement) et git ne le détecte pas ? Voici la solution !

Article publié le 23/02/2021

Windows et MacOS sont des systèmes d'exploitation que l'on qualifie d'insensibles à la casse (case-insensitive), ce qui signifie que les noms des fichiers et des dossiers sont traités de la même manière qu'ils soient écrits en majuscule ou en minuscule.

À noter que ce n'est pas parce que l'OS est insensible à la casse que les logiciels qui tournent dessus le sont eux aussi.

D'ordinaire cette particularité est censée faciliter la vie des utilisateurs, qui n'ont pas à se soucier de ce détails, mais lorsque vous utilisez certains outils comme Git, cela peut vous poser des problèmes.

Imaginons que vous ayez renommé un fichier LOGO.jpg en logo.jpg et que vous ayez changé le chemin du fichier dans votre application, quelle qu'elle soit, alors tout ira pour le mieux, jusqu'à ce que vous vouliez versionner vos changements.

Si jamais le renommage du fichier était la seule opération effectuée, au moment du commit git vous renverrai le message "nothing to commit".

En effet, Git va bien prendre en compte les changements à l'intérieur de vos fichiers, mais il ne va pas détecter le changement de casse dans le nom de votre fichier logo.jpg

Votre version en local fonctionnera correctement, mais si quelqu'un d'autre récupère votre version, le chemin contenu dans votre application et le chemin réel du fichier ne seront pas les mêmes (casse différente).

Donc la question est : Comment faire pour que Git détecte le changement de casse dans le nom de mon fichier ?

La solution est très simple, et tient en une seule ligne de commande :


$ git mv LOGO.jpg logo.jpg 

La commande git mv permet de déplacer ou renommer un fichier.

De cette manière on annonce explicitement au gestionnaire de version que le fichier a été renommé, il détectera donc la modification et cette dernière pourra être ajoutée au prochaine commit !


LSE Library sur Unsplash

Vous avez terminé l'article ?

Commentaires (0)

pour laisser un commentaire

Aucun commentaire pour l'instant