Si vous êtes un utilisateur de git vous n’êtes pas sans savoir qu’il y a des fichiers et répertoires que vous ne souhaitez pas voir apparaitre dans les modifications de vos sources.
Par exemple les répertoires de vos dépendances comme :
vendor
si vous utilisez composer
en PHP
,node_module
si vous utilisez npm
en JS
Mais saviez-vous qu’il y a plusieurs niveaux pour exclure des fichiers ? Je vous propose de revoir ces bases dans ce tutoriel 😃
Pour info, ce tutoriel utilise l’éditeur GNU nano comme logiciel de traitement de texte, mais libre à vous de choisir votre éditeur préféré.
Dans le cas où vous souhaitez ignorer des fichiers et répertoires d’un projet dans chacun de ses clones, utiliser un fichier .gitignore
à la racine de votre projet. Il suffira de l’ajouter aux sources de son dépôt pour que la configuration soit appliquée.
cd <chemin_de_mon_projet>
nano .gitingore
Remplacer <chemin_de_mon_projet>
par le chemin réel de votre projet.Dans le cas où vous souhaitez ignorer des fichiers et répertoires d’un projet sans créer ou modifier fichier .gitignore, utiliser le fichier exclude
dans le répertoire .git/info
de votre projet.
cd <chemin_de_mon_projet>
nano .git/info/exclude
Remplacer <chemin_de_mon_projet>
par le chemin réel de votre projet.# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
Dans le cas où vous souhaitez ignorer des fichiers et répertoires dans tous vos projets, utiliser la configuration global excludesFile
. Cette configuration est très pratique quand plusieurs développeurs travaillent sur plusieurs projets et qu’ils utilisent des IDE ou outils différents.
nano ~/.gitignore_global
Cette commande créée un fichier .gitignore_global
dans votre répertoire utilisateur
.gitignore_global
à votre configuration git :
git config --global core.excludesfile ~/.gitignore_global
Vous pouvez retrouver cette configuration dans le fichier .gitconfig
à la racine de votre répertoire utilisateur.
nano ~/.gitconfig
Apperçu de votre configuration git :
[core]
# Sous Windows
excludesfile = C:/Users/<nom_utilisateur>/.gitignore_global
# Sous Linux
excludesfile = /home/<nom_utilisateur>/.gitignore_global
Pour résumer :
.gitignore
s’applique pour chaque clone d’un référentiel,.git/info/exclude
s’applique pour une instance d’un référentiel sans créer ou modifier un fichier .gitignore
excludesFile
s’applique sur tous référentiel sur votre ordinateur.Ce qu’il faut retenir :
.gitignore
n’a pas pour rôle de maintenir la liste de fichiers et répertoires générés par des IDE et outils,excludesFile
pour mutualiser les fichiers et répertoires à ignorer.Ctrl + X
pour sauvegarder,o
si vous êtes sur Linux ou Y
si vous êtes sur Windows pour confirmer la sauvegarde.Entrée
pour valider le nom du fichier d’enregistrement.