Comment désindexer des fichiers commités
Git est un outil très puissant qui peut sembler compliqué si nous le connaissons mal. Dans cet article, nous verrons le cas particulier des mauvaises indexations.
C’est un cas qui peut très facilement se produire lorsque l’on maîtrise mal l’outil, mais pas de panique, il n’y a rien d’irréparable. Vous pourrez vous tromper, vous corriger, recommencer et apprendre à votre rythme avec l’astuce de cet article.
Éviter d’indexer les mauvais fichiers
Il y a des fichiers que nous ne voulons pas versionner avec Git. Par exemple, les dépendances d’un projet (le répertoire node_modules
pour un projet Node.js), les fichiers contenant des variables d’environnement ou d’autres fichiers autogénérés/temporaires.
Le fichier .gitignore
nous permettra de spécifier à Git la liste des fichiers que nous ne souhaitons pas prendre en compte. Créez-le à la racine de votre projet.
Vous pouvez y indiquer des fichiers, des dossiers ou des globs comme ceci :
.env
/node_modules
npm-debug.log*
Une fois ajoutés à cette liste, les fichiers incriminés seront comme invisibles aux yeux de Git. Il n’y aura plus aucun moyen de les ajouter par erreur.
Supprimer un fichier de l’index
Mais il arrive que nous nous rendions compte qu’un fichier ne devrait pas être indexé uniquement après l’avoir commité. Un malheureux git add .
ou une utilisation pas assez régulière de git status
peuvent mener facilement à cette situation.
Si cela arrive, une commande simple existe : git rm
.
git rm -r --cached nom_de_votre_fichier
Il vous suffira ensuite de commiter la suppression de l’index :
git add nom_de_votre_fichier
git commit
Voilà. Le dossier ou fichier intempestif ne devrait plus vous embêter. Par contre, pensez bien à l’ajouter à votre fichier .gitignore
pour ne pas le commiter par erreur à nouveau. Je vous renvoie à la première partie de l’article pour savoir comment faire.