Aller au contenu principal

`.gitignore`

Le fichier .gitignore est un élément essentiel d’un dépôt Git. Il indique à Git quels fichiers ou répertoires ne doivent pas être suivis ni maintenus par le système de contrôle de version. Il est particulièrement utile pour exclure les informations sensibles, configurations propres à un utilisateur, fichiers temporaires créés par l’environnement de développement ou dépendances installables par un gestionnaire de paquets.

Syntaxe et structure

Un fichier .gitignore emploie des motifs glob pour faire correspondre des noms de fichiers. Son fonctionnement :

  • Les lignes vides sont ignorées ; elles servent à espacer et organiser le fichier.
  • Les lignes commençant par # sont des commentaires.
  • Les motifs glob standards correspondent aux fichiers ou chemins :
    • * correspond à zéro caractère ou plus.
    • ? correspond à exactement un caractère.
    • [...] correspond à tout caractère placé entre crochets.
    • **/ correspond récursivement à tout répertoire.

Motifs courants

# Ignore all .log files
*.log

# Ignore a specific file
secret.txt

# Ignore all files in a specific directory
tmp/*

# Ignore all .txt files in a specific directory
docs/*.txt

# Ignore a directory and everything inside it
node_modules/

# Ignore all .pdf files in any directory
**/*.pdf

Bonnes pratiques

  • .gitignore global ou local : vous pouvez avoir un fichier global pour tous les projets et un fichier local pour un projet donné. Le fichier local est placé à la racine du dépôt.
  • Validez .gitignore tôt : ajoutez et validez ce fichier dès que possible afin d’éviter l’inclusion accidentelle de fichiers indésirables.
  • Données sensibles : si un identifiant a été validé, faites-le d’abord tourner ou révoquez-le. Ajouter le chemin à .gitignore ne supprime pas l’historique existant. Utilisez git filter-repo, BFG Repo-Cleaner ou la procédure documentée de l’hébergeur pour supprimer l’historique, puis coordonnez cette réécriture avec tous les collaborateurs.
  • Modèles : de nombreux projets ont des besoins semblables. Des sites comme gitignore.io offrent des modèles par type de projet pour démarrer avec un fichier complet.

Exemple de .gitignore pour un projet Java

# Compiled class files
*.class

# Build directories
target/
out/

# Package Files
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# Maven
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties

# IntelliJ IDEA
.idea/
*.iml
*.iws

# Eclipse
.classpath
.project
.settings/

# Mac OS folder attributes
.DS_Store

En conclusion, un fichier .gitignore bien configuré est indispensable au maintien d’un dépôt propre et sûr. Il réduit l’encombrement et évite la validation accidentelle de fichiers inutiles ou sensibles.

Explorer les liensOuvrir le réseau