Original article: Gitignore Explained: What is Gitignore and How to Add it to Your Repo

Le fichier .gitignore est un fichier texte qui dit à Git quels fichiers ou répertoires ignorer dans un projet.

Un fichier .gitignore local est habituellement placé dans le répertoire racine d'un projet. Vous pouvez aussi créer un fichier gitignore global et toutes les entrées de ce fichier seront ignorées dans tous vos dépôts (repositories) Git.

Pour créer un fichier .gitignore local, créez un fichier texte et nommez-le .gitignore (souvenez-vous d'inclure le . au début). Ensuite éditez ce fichiez quand c'est nécessaire. Chaque nouvelle ligne devrait lister un fichier additionnel ou un répertoire que vous voulez que Git ignore.

Les entrées dans ce fichier peuvent aussi suivre un modèle de correspondance (matching pattern).

  • * est utilisé comme un caractère de remplacement de correspondance (wildcard match)
  • / est utilisé pour ignorer les chemins d'accès relatifs au fichier .gitignore
  • # est utilisé pour ajouter des commentaires à un fichier .gitignore

Voici un exemple de ce à quoi le fichier .gitignore pourrait ressembler :

# Ignorer les fichiers systèmes Mac
.DS_store

# Ignorer le répertoire node_modules
node_modules

# Ignorer tous les fichiers texte
*.txt

# Ignorer les fichiers liés aux clés d'API
.env

# Ignorer les fichiers de configuration SASS
.sass-cache

Pour ajouter ou changer votre fichier .gitignore global, exécutez la commande suivante :

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

Ceci créera le fichier ~/.gitignore_global. Maintenant vous pouvez éditer ce fichier de la même façon qu'un fichier .gitignore local. Tous vos dépôts Git ignoreront les fichiers et répertoires listés dans le fichier .gitignore global.

Comment arrêter de suivre les modifications des fichiers précédemment commités à partir d'un nouveau Gitignore

Pour arrêter de suivre un seul fichier, c'est-à-dire arrêter de tracer le fichier mais ne pas l'effacer du système, utilisez :

git rm --cached nomdefichier

Pour arrêter de suivre tout fichier dans .gitignore :

Tout d'abord, committez tout changement de code encore en suspens, et ensuite exécutez :

git rm -r --cached

Ceci retire tous les fichiers modifiés de l'index (staging area), ensuite exécutez :

git add .

Commitez le :

git commit -m ".gitignore est maintenant actif"

Pour annuler git rm --cached nomdefichier, utilisez git add nomdefichier

Plus d'information :