Modèle .gitignore macOS expliqué
Explique pourquoi macOS.gitignore ignore .DS_Store, les resource forks ._, les fichiers Icon et les dossiers Spotlight, Time Machine et corbeille, et comment le placer dans un gitignore global.
macOS.gitignore bloque les fichiers de métadonnées que le Finder et le système de fichiers de macOS créent à l'insu de l'utilisateur. Sans rapport avec le contenu du projet, c'est un modèle qu'il est recommandé de placer non pas dans le dépôt mais dans un gitignore global personnel (core.excludesFile).
En pratique, comme tous les membres de l'équipe ne configurent pas de réglage global, les commits accidentels de .DS_Store sont fréquents. Beaucoup d'équipes l'ajoutent donc aussi au .gitignore du projet.
Explication règle par règle
| Motif | Ce qui est ignoré et pourquoi |
|---|---|
.DS_Store.localized | Métadonnées du Finder.DS_Store est le fichier de réglages d'affichage (position des icônes, tri) que le Finder crée dans chaque dossier. Il apparaît rien qu'en ouvrant un dossier et contient la liste des noms de fichiers, ce qui peut révéler des informations sans le vouloir. |
._*.AppleDouble.LSOverride | Resource forks (AppleDouble)Fichiers compagnons ._nomdefichier créés pour conserver les attributs étendus lors de la copie de fichiers vers des volumes non HFS+·APFS (FAT, partages réseau). |
.VolumeIcon.icns | Icônes personnaliséesFichier d'icône de volume. L'icône personnalisée d'un dossier est enregistrée dans un fichier Icon dont le nom se termine par un caractère de retour chariot (CR) ; le modèle le capture avec un motif à crochets de la forme Icon[\r]. |
.Spotlight-V100.fseventsd.Trashes.TemporaryItems.DocumentRevisions-V100 | Index système et corbeilleIndex Spotlight, journal des événements du système de fichiers, corbeille et stockage des versions de documents, créés à la racine des disques externes ou des volumes. |
.com.apple.timemachine.donotpresent.com.apple.timemachine.supportedBackups.backupdb.MobileBackups | Time MachineFichiers marqueurs et dossiers de sauvegarde créés sur un disque de sauvegarde Time Machine. |
.AppleDB.AppleDesktopNetwork Trash FolderTemporary Items.apdisk | Dossiers partagés AFPBase de données et dossiers créés sur les volumes partagés par un serveur de fichiers AFP (Apple Filing Protocol). Même si le nom contient des espaces, le motif gitignore s'écrit tel quel. |
__MACOSX/ | Sous-produits de décompressionDossier de resource forks qui apparaît quand on décompresse avec un autre outil un zip créé sous macOS. |
Points d'attention en pratique
- Configuration globale : après
git config --global core.excludesFile ~/.gitignore_global, placez ce modèle dans ce fichier. Sans ce réglage, git utilise le chemin par défaut~/.config/git/ignore. - Supprimez les
.DS_Storedéjà commités avecgit rm --cached. Dans l'onglet Ne plus suivre, le mode « Tous les fichiers suivis qui correspondent au .gitignore » les traite en une seule fois. - La règle
._*ne bloque pas tous les fichiers commençant par un tiret bas. Elle ne concerne que les noms commençant par._(point + tiret bas).
Modèle d'origine
# General.DS_Store.localized__MACOSX/.AppleDouble.LSOverrideIcon[ ]# Resource forks._*# Files and directories that might appear in the root of a volume.DocumentRevisions-V100.fseventsd.Spotlight-V100.TemporaryItems.Trashes.VolumeIcon.icns.com.apple.timemachine.donotpresent.com.apple.timemachine.supported.PKInstallSandboxManager.PKInstallSandboxManager-SystemSoftware.hotfiles.btree.vol.file.disk_label*lost+found.HFS+ Private Directory Data[ ]# Directories potentially created on remote AFP share.AppleDB.AppleDesktopNetwork Trash FolderTemporary Items.apdisk# Mac OS 6 to 9Desktop DBDesktop DFTheFindByContentFolderTheVolumeSettingsFolder.FBCIndex.FBCSemaphoreFile.FBCLockFolder# Quota system.quota.group.quota.user.quota.ops.group.quota.ops.user# TimeMachineBackups.backupdb.MobileBackups.MobileBackups.trashMobileBackups.trashtmbootpicker.efi
Source des modèles : github/gitignore/Global/macOS.gitignore @356fd7b (2026-09-11) · CC0-1.0