Por Anónimo (no verificado) , 29 Abril 2026

Por qué rebase

Rebase reescribe tu branch para que parezca empezar desde el tip de otro branch, reproduciendo tus commits uno por uno. El resultado es una historia lineal que se lee como una historia.

El rebase básico

git checkout feature/login
git fetch origin
git rebase origin/main
git status
git add <file>
git rebase --continue

Rebase interactivo

git rebase -i HEAD~5
pick 1a2b3c4 Add login form
pick 5d6e7f8 Fix typo
pick 9a0b1c2 Refactor auth helper
pick 3d4e5f6 Add tests
pick 7a8b9c0 Address review feedback

Cambia pick a:

  • reword - mantener el commit, editar el mensaje.
  • edit - pausar para enmendar.
  • squash - combinar con el commit anterior y fusionar mensajes.
  • fixup - combinar, descartar mensaje.
  • drop - eliminar el commit.
  • Reordenar líneas para reordenar commits.

La Regla de Oro

Nunca hagas rebase de commits que han sido pushed y consumidos por otros.

Flujo autosquash

git commit --fixup <sha>
git rebase -i --autosquash main

Rerere para conflictos repetidos

git config --global rerere.enabled true