Laboratorio 16

Eliminar historial de commits de un repositorio

Técnicas seguras para limpiar el historial de commits de un repositorio Git, incluyendo eliminación de datos sensibles y reducción del tamaño del repo.

Fuente validada

Lab_16_Historial_Commits.docx

Esta pagina fue reconstruida desde el documento del ZIP entregado como fuente principal.

Conformidad visual

Sin imagenes publicadas

El archivo fuente contiene 0 imagenes embebidas. Para garantizar conformidad, no se publican imagenes heredadas de otros materiales.

Criterio GH-300

Practica verificable

Ejecuta los comandos, captura evidencia propia y valida cada sugerencia de Copilot antes de aceptarla.

Alcance de publicacion: Solo se publica el contenido del laboratorio indicado por el archivo Lab_16_Historial_Commits.docx. Las imagenes no se muestran porque el ZIP no incluye imagenes embebidas en este documento.

Certificación GH-300

Laboratorio 16

Eliminar Historial de Commits de un Repositorio Git

Autor: Carlos Crudo

linkedin.com/in/carloscrudo

Técnicas seguras para limpiar el historial de commits de un repositorio Git, incluyendo eliminación de datos sensibles y reducción del tamaño del repo.

Temas que cubre este laboratorio:

git filter-branch vs git filter-repo

BFG Repo Cleaner

Force push y sincronización del equipo

Eliminar archivos sensibles del historial

Squash de commits para historial limpio

Laboratorio 16: Eliminar Historial de Commits de un Repositorio Git

Laboratorio 16: Eliminar el historial de commitos de un repositorio git

Objetivo:

Imagina que formas parte de un equipo de desarrollo trabajando en un proyecto donde información sensible, como claves API o credenciales de base de datos, era accidentalmente comprometido en tu repositorio Git. Los commits accidentales pueden ser Complicado de eliminar con Git.

En este laboratorio, tú deberás:

Clona el repositorio con datos sensibles comprometidos accidentalmente.

Eliminar/eliminar el archivo que contiene datos sensibles del clonado y Commit la eliminación.

Enviar cambios a GitHub: Sube el repositorio actualizado a GitHub a Reflejar los cambios.

Ejercicio #1: Crear el repositorio con el historial de confirmación accidental (datos sensibles)

Inicia sesión en tu cuenta de GitHub.

Navega hasta el siguiente enlace: https://github.com/skills/change-commit-history

En este laboratorio crearás el repositorio usando una plantilla pública "habilidades-cambio-commisión-historia".

Selecciona Crear un nuevo repositorio en el menú Usar esta plantilla.

Introduce los siguientes datos y selecciona Crear Repositorio.

Nombre del repositorio: habilidades-cambio-commit-historia

Tipo de repositorio: Público

Ejercicio #2: Eliminar/eliminar el archivo (.env en el directorio raíz del proyecto) que contiene datos sensibles

En la página de inicio del repositorio clonado, navega a Code>Local>HTTPS y copia la URL.

Abre PowerShell de Windows e introduce el siguiente comando.

git clone <your-repository-url>

Nota: Sustituye por la URL que copiaste en el paso 1.

Cambia al directorio de tu repositorio y introduce el siguiente comando.

cd "C:\Usuarios\Admin\habilidades-cambiar-commit-history"

Ejecuta el siguiente comando para eliminar .env de la raíz Directorio,

git rm .env

Comprometer la eliminación del archivo .env

git commit -m "eliminar archivo .env"

Propina: ¿Cómo eliminar completamente el archivo .env del historial de Git y reescribir el historial total con nuevos hashes de confirmación?

Utiliza los siguientes comandos para:

Elimina completamente el archivo .env del historial de Git y reescribe el historial total

git filter-branch --force --index-filter 'git RM --cached --ignore-unmatch.env' --prune-empty --tag-name-filter cat -- --all

Enviar la eliminación a GitHub Git Push Origin --Force -All

Enviar la eliminación a GitHub:

git push

Resumen:

Ahora has completado de limpiar tu repositorio Git, asegurándote de que El contenido sensible no aparece expuesto en el historial del repositorio.