Duplicar posible:
How can I squash my last X commits together using git?Git: forma más sencilla de aplastar compromete el maestro
tengo un proyecto alojado en GitHub y tengo un clon local. Tengo un montón de pequeñas confirmaciones que ya he enviado a GitHub. Todo esto se ha hecho usando la rama maestra predeterminada *.
Me confundí entre merge --squash y rebase, etc ... ¿Cuál es la forma más sencilla de combinar varias confirmaciones historial en una confirmación para que pase a GitHub?
¿Cuáles son las repercusiones de hacer esto si otras ramas tiran regularmente desde el repositorio (avance rápido solamente)? – Gabe
@whoami: Si alguien más tira de esa rama, verán '(actualización forzada)' y git se negarán a actualizar su rama. Luego necesitan (a) asegurarse de que todo su trabajo esté comprometido (b) por lo general sea rebase (por ejemplo, con 'git rebase origin/master') o restablecer su rama a la versión de seguimiento remoto que se acaba de actualizar forzosamente (por ejemplo, con 'git reset --hard origin/master'). A menos que esté feliz explicando a la gente qué hacer, definitivamente es mejor no forzar la historia reescrita. –
Todos verán que sus sucursales locales y el control remoto se han separado y tendrán que fusionar los cambios en lugar de solo avanzar rápidamente. –