Ignorer les fichiers dans Git
Dans les projets, on rencontre souvent des fichiers que nous ne souhaiterions pas enregistrer dans le système Git. Il peut s'agir de fichiers temporaires générés par votre code, de fichiers de cache, ainsi que de fichiers contenant des mots de passe.
Nous pouvons forcer
Git à ignorer de tels dossiers et fichiers.
Cela se fait à l'aide d'un fichier spécial
appelé .gitignore, placé
dans le dossier de votre projet.
Dans ce fichier, il faut écrire sur chaque ligne le chemin vers le fichier ou le dossier que nous voulons ignorer. Voyons avec des exemples quelle syntaxe est autorisée ici.
Exemple
Une barre oblique avant le nom du fichile correspond au fichier à la racine du dépôt :
/debug.log
Par exemple, les fichiers suivants seront ignorés :
- debug.log
Mais pas :
- logs/debug.log
Exemple
Sans barre oblique au début, les fichiers dans les sous-dossiers seront également ignorés :
debug.log
Par exemple, les fichiers suivants seront ignorés :
- debug.log
- logs/debug.log
Exemple
Sans barre oblique à la fin, seront ignorés à la fois les fichiers sans extension et les dossiers portant ce nom :
logs
Par exemple, les fichiers suivants seront ignorés :
- logs
- logs/debug.log
- logs/latest/foo.bar
- build/logs
- build/logs/debug.txt
Exemple
Avec une barre oblique à la fin, seuls les dossiers seront ignorés :
logs/
Par exemple, les dossiers suivants seront ignorés :
- logs/
- logs/debug.log
- logs/latest/foo.bar
- build/logs
- build/logs/debug.txt
Exemple
Deux astérisques au début d'un dossier feront ignorer tous les dossiers contenant un tel sous-dossier dans le chemin :
**/logs
Par exemple, les fichiers suivants seront ignorés :
- logs/debug.log
- logs/monday/foo.bar
- build/logs/debug.log
Exemple
Deux astérisques peuvent également être utilisés pour faire correspondre des fichiers en fonction de leur nom et du nom du dossier parent :
**/logs/debug.log
Par exemple, les fichiers suivants seront ignorés :
- logs/debug.log
- build/logs/debug.log
Mais pas :
- logs/build/debug.log
Exemple
Une astérisque — c'est un caractère générique, qui peut correspondre à plusieurs caractères ou à aucun :
*.log
Par exemple, les fichiers suivants seront ignorés :
- debug.log
- foo.log
- .log
- logs/debug.log
Exemple
L'ajout d'un point d'exclamation au début d'un motif annule l'effet du motif. Si un fichier correspond à un certain motif, mais correspond également à un motif d'annulation spécifié après, un tel fichier ne sera pas ignoré :
*.log
!important.log
Par exemple, les fichiers suivants seront ignorés :
- important.log
Mais pas :
- file.log
Exemple
Le point d'interrogation correspond strictement à un seul caractère :
debug?.log
Par exemple, les fichiers suivants seront ignorés :
- debug0.log
- debugg.log
Mais pas :
- debug10.log
Exemple
Les crochets correspondent à un seul caractère parmi l'ensemble spécifié :
debug[01].log
Par exemple, les fichiers suivants seront ignorés :
- debug0.log
- debug1.log
Mais pas :
- debug2.log
- debug01.log
Exemple
Les crochets peuvent également être utilisés pour spécifier la correspondance à un caractère dans une plage donnée :
debug[0-9].log
Par exemple, les fichiers suivants seront ignorés :
- debug0.log
- debug1.log
Mais pas :
- debug10.log
Exemple
Le point d'exclamation peut être utilisé pour spécifier la correspondance à n'importe quel caractère, sauf ceux de l'ensemble spécifié :
debug[!01].log
Par exemple, les fichiers suivants seront ignorés :
- debug2.log
Mais pas :
- debug0.log
- debug1.log
- debug01.log
Exemple
Les plages peuvent être numériques ou alphabétiques :
debug[a-z].log
Par exemple, les fichiers suivants seront ignorés :
- debuga.log
- debugb.log
Mais pas :
- debug1.log
Exemple
Deux astérisques correspondent à plusieurs répertoires ou à aucun :
logs/**/debug.log
Par exemple, les fichiers suivants seront ignorés :
- logs/debug.log
- logs/monday/debug.log
- logs/monday/pm/debug.log
Exemple
Les caractères génériques peuvent également être utilisés dans les noms de répertoires :
logs/*day/debug.log
Par exemple, les fichiers suivants seront ignorés :
- logs/monday/debug.log
- logs/tuesday/debug.log
Mais pas :
- logs/latest/debug.log
Tâches pratiques
Faites en sorte que les fichiers
du dossier cache soient ignorés.
Faites en sorte que les fichiers
des dossiers cache et tmp soient ignorés.
Faites en sorte que le fichier
err.txt et le dossier tmp soient ignorés.