N’ayant pas trouvé facilement cette réponse, je créé donc un billet permettant d’expliquer la procédure, assez simple.

Pour un projet récent, j’avais créé un repository sur Github dans lequel j’avais mis l’ensemble de mes sources.

Suite à quelques modifications et commit, je me suis aperçu qu’un de mes répertoires n’avait pas nécessité à être présent dans le gestionnaire de sources.

Pour demander à Git d’ignorer un fichier ou répertoire, rien de plus simple, on créé un fichier .gitignore à la racine du projet (là où se trouve le répertoire .git, on peut le placer autre part et même en avoir plusieurs, mais par souci de simplicité, on va partir là dessus), dans lequel on va placer la ou les ligne(s) permettant d’ignorer les fichiers et répertoires, ci dessous 2 exemples :

Pour ignorer un fichier à la racine uniquement, on place une ligne comme suit :

/.env

ici, le / permet d’indiquer le répertoire courant du .gitignore, il n’est pas impératif si on est sûr qu’il n’existe qu’un seul fichier se nommant de cette façon.

Pour ignorer un répertoire, on place une ligne comme suit :

node_modules/

Il est tout à fait possible d’utiliser d’autres types de lignes, mais ce n’est pas l’objet de ce billet, pour cela, je vous invite à consulter la doc officielle.

Une fois ce fichier créé et le commit fait sur le repository, on s’attend à ce que les fichiers / répertoires compris dans le .gitignore soient supprimés du repository, et bien en fait ce n’est pas tout à fait aussi simple, ces directives fonctionneront pour les futures modifications des sources, mais pour forcer git à supprimer ces éléments des sources actuelles, il faut utiliser une ligne de commande :

git rm [directory / file] [-r]

Cette dernière permet de supprimer un répertoire ou un fichier, le -r à la fin permet d’indiquer une suppression récursive si la cible est un répertoire.

Suite à la suppression de l’élément, il faut effectuer un commit des sources afin de les supprimer au niveau du repository.

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

− 3 = deux