Git/Exclure des fichiers du dépôt

Un livre de Wikilivres.
< Git

Principe[modifier | modifier le wikicode]

Souvent il y a des fichiers dans l'espace de travail qui ne sont pas souhaitables dans le dépôt :

  • Les fichiers générés temporairement. Par exemple, emacs crée automatiquement une copie des fichiers édités avec, avec un suffixe tilde, comme fichier1~. Il faut donc éviter manuellement de les soumettre.
  • Les fichiers de secours (backup) comme, par exemple, les fichiers .bak générés par les outils de comparaison de fichiers après des opérations de fusion.
  • Les fichiers générés lors de la compilation,
  • ...

Certains fichiers (notamment ceux générés lors de la compilation) sont en général situés dans un répertoire particulier, qu'il est possible d'exclure des dépôts Git.

.gitignore[modifier | modifier le wikicode]

Pour dire à Git d'ignorer certains fichiers, il est possible de créer un fichier .gitignore. Chaque ligne y représente une spécification (avec wildcards) des fichiers ou répertoires à ignorer. Des commentaires peuvent être ajoutés dedans sur les lignes débutant par un blanc ou un dièse :

# Ignorer les backups Emacs :
*~

# Ignorer le répertoire ''cache'' :
app/cache

Ce fichier sera ensuite automatiquement proposé pendant les commits, de sorte que tous les développeurs du dépôt auront la même liste de fichiers à ignorer.

De plus, certains caractères sont interprétés, comme le "!" en début de ligne qui signifie "sauf" (ex : exclure un dossier sauf un de ses fichiers)[1].

Logo

Si un fichier a déjà été commité, l'ajouter dans .gitignore ne changera rien : il faut d'abord le supprimer de la branche.

 Git ne commit pas les nouveaux dossiers vides, sauf s'ils contiennent un fichier .gitkeep.

exclude[modifier | modifier le wikicode]

Pour n’ignorer des fichiers que sur son propre poste, il faut les placer dans .git/info/exclude. Ainsi, ils ne seront jamais proposés pendant les commits.

Recherche[modifier | modifier le wikicode]

Pour déterminer les fichiers ignorés d'un dossier ou pourquoi un fichier est ignoré, utiliser "check-ignore". Exemple :

git check-ignore core/scripts/imagecopy.py -v

Références[modifier | modifier le wikicode]