March 7, 2025
Cómo Modificar un Commit Anterior Usando Git Rebase
Cuando trabajas en una rama y te das cuenta de que necesitas agregar cambios a un commit que no es el último, puedes hacerlo usando el comando git rebase -i. Esto te permite reescribir la historia de tu rama de manera controlada.
Pasos para añadir cambios a un commit anterior:
- Prepara los cambios: Asegúrate de que los archivos modificados estén preparados (staged).
git add <archivo> # o "git add ." para añadir todos los cambios- Ejecuta un rebase interactivo: Decide hasta qué punto en la historia de tu rama quieres reescribir, por ejemplo:
git rebase -i HEAD~3- Selecciona el commit a modificar: Cuando el editor de texto abra la lista de commits, cambia el
pickdel commit que quieres modificar poredit.
pick <commit_hash_1> [BackEnd] feat(users): Implementa paginación
edit <commit_hash_2> [FrontEnd] feat(users): Implementa paginación- Realiza el commit de los nuevos cambios: Después de que el rebase se detenga en el commit que elegiste, añade los nuevos cambios al commit original usando:
git commit --amend --no-edit- Continúa el rebase: Termina el proceso ejecutando:
git rebase --continue- Empuja los cambios al repositorio remoto: Si ya habías hecho un
push, tendrás que forzar el push para actualizar el repositorio remoto:
git push --force-with-leaseDiferencia Entre -force y -force-with-lease
Cuando necesitas forzar un push tras modificar el historial de commits, puedes usar dos comandos: --force o --force-with-lease.
git push --force: Este comando sobrescribe el historial remoto sin hacer verificaciones. Es peligroso si trabajas en equipo, ya que puede borrar los commits de otras personas sin advertencia.
git push --force-with-lease: Este comando fuerza elpush, pero primero verifica si alguien más ha hecho cambios en el repositorio remoto. Si hay nuevos commits que no tienes, aborta la operación para que revises antes de sobrescribir.
¿Cuál es mejor?
- Usa
-forcesolo cuando estás absolutamente seguro de que no hay cambios en el repositorio remoto y trabajas solo en la rama.
- Usa
-force-with-leasesi trabajas en equipo, ya que reduce el riesgo de sobrescribir cambios de otros colaboradores.
Resumen
- Modificar commits anteriores con
git rebase -ies útil para limpiar el historial de commits.
- La opción
-force-with-leasees más segura que-forceporque protege el trabajo colaborativo.
CTA (Llamado a la acción): Si quieres aprender más sobre cómo gestionar eficientemente tus commits en Git y evitar sobrescribir el trabajo de otros, visita el enlace en mi perfil para leer el artículo completo en el blog. ¡Descubre cómo dominar Git en entornos colaborativos!

Written by Pol Valle
I am particularly drawn to developing applications that are not only functional but also visually appealing and easy to use. I accomplish this by implementing SOLID principles and clean architecture, and applying testing to ensure quality.