Buscar..


Introducción

Si confirma datos confidenciales, como una contraseña o clave SSH en un repositorio Git, puede eliminarlos del historial. Para eliminar por completo los archivos no deseados del historial de un repositorio, puede usar el comando git filter-branch o BFG Repo-Cleaner.

Observaciones

  1. Dígales a sus colaboradores que modifiquen, no fusionen, las ramas que crearon a partir de su antiguo historial de depósito (contaminado). Un compromiso de fusión podría reintroducir parte o toda la historia contaminada que acabas de tomarte la molestia de purgar.

  2. Después de que pase un tiempo y confíe en que git filter-branch no tuvo efectos secundarios no deseados, puede forzar la eliminación de referencias de todos los objetos en su repositorio local y la recolección de basura con los siguientes comandos (utilizando Git 1.8.5 o más reciente):

    git for-each-ref --format = 'delete% (refname)' refs / original | git update-ref --stdin

    git reflog expire --expire = now --all

    git gc --prune = ahora

Utilizando filtro-rama

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

Agregue su archivo con datos confidenciales a .gitignore para asegurarse de que no vuelva a cometerlo accidentalmente.

echo "YOUR-FILE-WITH-SENSITIVE-DATA" >> .gitignore
git add .gitignore
git commit -m "Add YOUR-FILE-WITH-SENSITIVE-DATA to .gitignore"

Empuje su repositorio local a GitHub

git push origin --force --all

Para eliminar el archivo confidencial de sus publicaciones etiquetadas, también deberá forzar el empuje contra sus etiquetas Git:

git push origin --force --tags

Usando el BFG Repo Cleaner

BFG Repo cleaner es una alternativa a git filter-branch. Se puede usar para eliminar datos confidenciales o archivos grandes que se cometieron incorrectamente, como binarios compilados desde la fuente. Está escrito en scala.

Sitio web del proyecto: BFG Repo Cleaner

Requerimientos

El entorno de ejecución de Java (Java 7 o superior - BFG v1.12.3 fue la última versión compatible con Java 6). La biblioteca de Scala y todas las demás dependencias se pliegan en el contenedor descargable.

Eliminar archivos con datos sensibles

bfg --delete-files YOUR-FILE-WITH-SENSITIVE-DATA


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow