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.
git add <archivo> # o "git add ." para añadir todos los cambios
git rebase -i HEAD~3
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
git commit --amend --no-edit
git rebase --continue
push
, tendrás que forzar el push para actualizar el repositorio remoto:git push --force-with-lease
-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 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.-force
solo cuando estás absolutamente seguro de que no hay cambios en el repositorio remoto y trabajas solo en la rama.-force-with-lease
si trabajas en equipo, ya que reduce el riesgo de sobrescribir cambios de otros colaboradores.git rebase -i
es útil para limpiar el historial de commits.-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!
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.