Supprimer des fichiers d'un dépot GIT

Retour aux articles Dans #git le 01/11/2016 par Emmanuel BALLERY

Vous avez poussé vos mots de passe de base de données sur votre dépôts GIT ? Vous avez ajouté des images brutes et la taille de votre dépôt a explosé ? Erf, supprimer des données définitivement d'un dépôt GIT n'est pas une action à prendre à la légère.

  • Premièrement : parceque supprimer des fichiers peut rendre le projet instable dans des versions antérieures. S'il est nécessaire un jour de faire un rollback, votre projet pourrait être instable (car un fichier vient à manquer).
  • Deuxièmement : parceque la suppression est définitive. Avec GIT, on a beau supprimer des fichiers et en ajjouter, il est toujours possible de revenir à des versions précédentes et retomber sur nos pates. Dans ce cas précis, il n'y aura plus de backup, plus de trâces ...
  • Dernièrement : parceque ce fichier sera supprimé pour tout l'historique de votre projet. Si seule la dernière version vous embête, il ne sera pas possible de la supprimer sans supprimer les n versions antérieures.

La commande de suppression est relativement complexe :

  • Pensez à changer la variable CHEMIN-VERS-CE-QUI-DOIT-ETRE-SUPPRIME par le fichier/chemin à supprimer.
  • Si vous souhaitez supprimer un répertoire complet, il faudra ajouter le paramètre -r à la commande git rm.
  • Pensez à ajouter ce fichier/dossier dans votre .gitignore à l'avenir, ou tout de suite après cette action.

En deux mots, la commande traverse toutes les versions de votre projet pour supprimer définitivement le fichier qui s'y trouve. Si le fichier était encore sur votre disque, il sera supprimé par la même occasion.

Il faudra ensuite poussez toutes ces modifications sur le dépôt. Le paramètre force est nécessaire pour réécrire tout l'historique.

  • Vos collaborateurs doivent rebase leur projet (s'il merge les modifications, votre fichier risque de réapparaître)

Retour aux articles