¿Por qué debes evitar git rebase en una rama que otros ya descargaron?
Opciones
- Rebase elimina la rama sobre la que se aplica
- Rebase reescribe la historia, así que las copias de los demás divergen (Opción correcta)
- Rebase siempre es mucho más lento que un merge de la rama
- Rebase no puede resolver conflictos, así que hace falta un merge
Respuesta
Rebase reescribe la historia de commits; las copias de los demás divergen y un force-push puede hacerles perder trabajo
Por qué
Rebase vuelve a crear tus commits encima de otra rama. Obtienen IDs NUEVOS, así que la historia se reescribe.
Si tus compañeros ya tienen los commits antiguos, sus copias dejan de coincidir, y un force-push puede borrar el trabajo que hicieron encima.
Regla: haz rebase libremente en tu rama local; en ramas compartidas, usa merge.
Recuerda
Nunca reescribas historia que otros ya tienen.