github
Suppression de données sensibles ou de fichiers volumineux
Recherche…
Introduction
Remarques
Indiquez à vos collaborateurs de rebaser, et non de fusionner, les branches qu’ils ont créées à partir de votre historique de référentiel (corrompu). Un engagement de fusion pourrait réintroduire tout ou partie de l’histoire viciée que vous venez d’évacuer.
Après un certain temps et si vous êtes sûr que git filter-branch n'a pas eu d'effets secondaires inattendus, vous pouvez forcer le déréférencement de tous les objets de votre référentiel local et la récupération des données avec les commandes suivantes (en utilisant Git 1.8.5 ou plus récent):
git for-each-ref --format = 'supprimer% (refname)' refs / original | git update-ref --stdin
git reflog expire --expire = now --all
git gc --prune = maintenant
Utiliser une branche de filtre
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA' \
--prune-empty --tag-name-filter cat -- --all
Ajoutez votre fichier avec des données sensibles à .gitignore pour vous assurer de ne pas le commettre accidentellement.
echo "YOUR-FILE-WITH-SENSITIVE-DATA" >> .gitignore
git add .gitignore
git commit -m "Add YOUR-FILE-WITH-SENSITIVE-DATA to .gitignore"
Poussez votre repo local sur GitHub
git push origin --force --all
Afin de supprimer le fichier sensible de vos versions étiquetées, vous devrez également pousser de force contre vos tags Git:
git push origin --force --tags
Utilisation du nettoyant repo BFG
BFG Repo cleaner est une alternative à git filter-branch. Il peut être utilisé pour supprimer des données sensibles ou des fichiers volumineux qui ont été commis à tort, comme des fichiers binaires compilés à partir de la source. Il est écrit en Scala.
Site web du projet: BFG Repo Cleaner
Exigences
L'environnement d'exécution Java (Java 7 ou supérieur - BFG v1.12.3 était la dernière version à prendre en charge Java 6). La bibliothèque Scala et toutes les autres dépendances sont intégrées dans le fichier jar.
Supprimer des fichiers contenant des données sensibles
bfg --delete-files YOUR-FILE-WITH-SENSITIVE-DATA