2011-02-10 12 views

Respuesta

12

Debería hacer esto solo para confirmaciones que no se hayan enviado en sentido ascendente. Dicho esto, me resulta más fácil usar git rebase -i <commit> donde <commit> es la identificación de una confirmación que es al menos tan antigua como la más reciente con la que no quiere meterse. Cuando aparezca su editor, este contendrá instrucciones sobre cómo aplastar y/o eliminar commits.

6

En general, si ha compartido una confirmación con otra persona, no la vuelva a establecer.

Si no ha compartido una confirmación con nadie más, puede hacer lo que quiera con ella.

Consulte la sección "RECUPERACIÓN DE UPSTREAM REBASE" del git-rebase manpage para obtener más información.

+0

esa página del hombre es realmente desorientadora para mí. Si tengo 10 commits y todo lo que quiero hacer es squash 3 4 y 5 juntos, ¿cómo lo haría? – griotspeak

+2

@griot Inicie la rebase interactiva y márquelos para aplastarlos. –

+0

Nota: recuperarse de un 'git push -f' será más fácil con Git 2.0: vea http://stackoverflow.com/a/20423029/6309 – VonC

Cuestiones relacionadas