Doplax.Dev
  • Inicio
  • Conóceme
  • Blog
  • Experiencia
  • Contacto
  • Inicio
  • Conóceme
  • Blog
  • Experiencia
  • Contacto

¿Tienes un proyecto en mente o quieres saludar?

Contáctame

© 2026 Doplax.Dev — Todos los derechos reservados.

September 10, 2024

Cómo Modificar un Commit Anterior Usando Git Rebase

  • Git

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:

  1. 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
  1. Ejecuta un rebase interactivo: Decide hasta qué punto en la historia de tu rama quieres reescribir, por ejemplo:
git rebase -i HEAD~3
  1. Selecciona el commit a modificar: Cuando el editor de texto abra la lista de commits, cambia el pick del commit que quieres modificar por edit.
pick <commit_hash_1> [BackEnd] feat(users): Implementa paginación
edit <commit_hash_2> [FrontEnd] feat(users): Implementa paginación
  1. 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
  1. Continúa el rebase: Termina el proceso ejecutando:
git rebase --continue
  1. 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-lease

Diferencia 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.

  1. 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.
  1. git push --force-with-lease: Este comando fuerza el push, 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 -force solo cuando estás absolutamente seguro de que no hay cambios en el repositorio remoto y trabajas solo en la rama.
  • Usa -force-with-lease si trabajas en equipo, ya que reduce el riesgo de sobrescribir cambios de otros colaboradores.

Resumen

  • Modificar commits anteriores con git rebase -i es útil para limpiar el historial de commits.
  • La opción -force-with-lease es más segura que -force porque 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!

AnteriorComo instalar una fuente en AngularSiguienteComo eliminar un commit concreto

Escrito por Pol Valle

Escrito por Pol Valle

Me interesa especialmente desarrollar aplicaciones que no solo sean funcionales, sino también atractivas y fáciles de usar. Lo consigo aplicando principios SOLID, arquitectura limpia y testing para garantizar la calidad.