Que dois-je faire si je mets accidentellement des données sensibles sur Github?

3

Notre équipe a accidentellement transmis des informations personnelles à Github sous la forme d'un fichier de base de données H2. Est-il possible de supprimer un fichier proprement et complètement du serveur?

Faire simplement git rm xxx.dbne semble pas être la solution car on peut facilement accéder git reset --hardà la tête contenant les données de l'utilisateur.

D'autre part,

git reset --hard [the head before the db file was committed]

Ce n’est également pas notre préférence car il ya plus de 10 validations depuis la validation de la base de données.

Que devrions-nous faire pour supprimer ce fichier de base de données?

Haochi Kiang
la source

Réponses:

5

Lisez l'aide de GitHub sur la suppression des données sensibles .

  • Exécutez ce qui suit pour supprimer la référence au fichier dans tout le référentiel - cela ne supprimera pas le fichier lui-même:

    git filter-branch --force --index-filter \
      'git rm --cached --ignore-unmatch <somefile>' \
      --prune-empty --tag-name-filter cat -- --all
    

    (Assurez-vous de remplacer <somefile>par le chemin du fichier que vous souhaitez supprimer.)

  • Ajoutez le fichier à votre .gitignore, puis git addet git commitau .gitignorefichier.

  • Exécuter git push origin master --forcepour obtenir les modifications en amont.

Il y a quelques étapes supplémentaires, y compris le nettoyage du référentiel et l' écriture dans GitHub lui-même afin de supprimer les données en cache.

slhck
la source