ConceptoBloque 5 · Rebase
No reescribas lo que otros ya descargaron
Comandos de esta diapositiva
git push --force-with-lease
La regla
No reescribas commits que otra persona ya descargó.
- Sí puedes hacerlo en tu propia rama, aunque tenga un PR abierto.
- Nunca en
mainni en ramas compartidas.
Es como cambiar el croquis de la fiesta después de mandarlo al grupo: los que ya lo guardaron llegan a la dirección vieja.
Subir una rama reescrita
Después de reescribir una rama que ya estaba en GitHub (con rebase, amend o reset), el push normal se rechaza. Súbela con:
git push --force-with-lease
Como en el Bloque 2: solo reemplaza la rama si nadie subió nada desde la última vez que la viste. El PR se actualiza solo.
El mensaje de rechazo sugiere
git pull, pero aquí es una trampa: juntaría la versión vieja con la nueva y duplicaría los commits.
Riesgo
Un force push no borra de GitHub lo que ya subiste: el commit viejo sigue accesible por su hash. Si subiste una clave o contraseña, hay que cambiarla.