Si vous avez initialement mal configuré .gitignore
et que vous avez déjà des fichiers que git suit (par exemple, des fichiers de cache, des configurations, etc.), même si vous modifiez par la suite .gitignore, les fichiers déjà suivis ne seront pas automatiquement ignorés.
Dans ce cas, vous pouvez résoudre le problème avec les étapes suivantes.
1. Ajoutez les fichiers (ou répertoires) que vous souhaitez ignorer dans le .gitignore
Exemple :
# .gitignore
*.log
__pycache__/
.env
2. Désactiver le suivi des fichiers déjà suivis (c'est-à-dire, faire en sorte que git ne les suive plus)
Par exemple, si vous souhaitez que git ignore le fichier .env
qui a déjà été commis,
vous devez exécuter la commande suivante.
git rm --cached .env
-
L'option
--cached
permet de laisser le fichier local en place tout en désactivant son suivi par git. -
Pour un dossier (par exemple,
__pycache__/
), procédez comme suit :bash git rm -r --cached __pycache__/
3. Effectuez un commit des modifications
git add .gitignore
git commit -m "Mettre à jour .gitignore et supprimer les fichiers suivis indésirables"
De cette manière, à partir de maintenant, le fichier/répertoire sera ignoré par git.
(Cependant, il restera dans l'historique des commits passés, mais ne sera plus suivi à l'avenir.)
Que faire si vous souhaitez désactiver le suivi de plusieurs fichiers à la fois ?
Pour désactiver le suivi de tous les fichiers ajoutés dans .gitignore
en une seule fois, vous pouvez procéder ainsi :
git rm -r --cached .
git add .
git commit -m "Appliquer .gitignore aux fichiers existants"
- Cette méthode re-staging tous les fichiers, donc à utiliser avec précaution ! (Vérifiez bien les modifications pour éviter de brouiller l'historique des commits !)
Remarque / Astuce
-
Vous pouvez vérifier si l'état non suivi a bien été appliqué avec
git status
! -
Pour supprimer complètement des fichiers sensibles déjà publiés sur un remote (par exemple, GitHub), des outils supplémentaires comme git filter-branch ou BFG Repo-Cleaner sont nécessaires.
J'espère que cet article sera utile à ceux qui ont rencontré des problèmes à cause de fichiers suivis par erreur.
Faites un pas de plus vers un historique Git propre aujourd'hui !
Aucun commentaire.