Mais virez donc ce .DS_Store!

MacOS créé des fichiers .DS_Store automatiquement lorsque vous passez par le Finder pour gérer un dossier.

Le système d’exploitation va y stocker des informations, comme par exemple la liste des fichiers dans le dossier, au format binaire.

On ne peut pas lire un fichier .DS_Store comme ça, le format n’est pas destiné à l’humain, mais c’est facile à décoder en revanche, et ça devient dangereux lorsque c’est déployé sur un serveur web:

Mais comment ça peut arriver en production un tel fichier ?

Si le projet (et/ou la machine d’un des devs) n’a pas .gitignore. qui liste ce type de fichier, ça va se retrouver dans le dépôt git. J’ai vu plein de dépôts publics, y compris de profils techniques assez avancés, qui oublient ce détail.

Je recommande d’ajouter une règle dans le .gitignore global de la machine. Commencez par afficher cette config globale :

git config --global core.excludesfile  

Et vérifiez ensuite que .DS_Store y figure.

Si le fichier n’existe pas encore, créez un fichier .gitignore à la racine de votre dossier utilisateur et reliez-le à la config git via cette commande :

git config --global core.excludesfile ~/.gitignore

Vous avez des templates de gitignore globaux sur Internet pour votre inspiration si vous voulez compléter la liste.

Cela ne va pas retirer les .DS_Store existants en revanche donc vous pouvez lancer ceci pour faire le ménage :

find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

Protégez-vous.

A voir aussi