2011-06-03 17 views
6

Empecé con ramas maestro y desarrollo. Hice rama foo basada en desarrollo. 7 se compromete más tarde y ahora me doy cuenta de que me gustaría haberlo superado. Puedo seleccionar cada compromiso, no es gran cosa, pero ¿hay un camino más astuto?Mueve varios commits de una rama a otra?

Respuesta

4

Pruebe esto. Puede dejar el foo si es la sucursal actualmente prestada.

git rebase --onto master develop foo 
+1

parece haber funcionado. podrías explicar la semántica? la documentación de git para rebase es un poco difícil de navegar ya que hay muchos tipos de invocaciones ... –

+0

@John, 'develop' es el punto de bifurcación original. '--onto' especifica el nuevo punto de ramificación. Si no especifica '--onto', lo volverá a establecer en la punta del punto de bifurcación original. 'foo' es la rama que desea volver a establecer. Esencialmente todos los commits desde 'develop' en adelante se vuelven a aplicar a la rama especificada por' --onto'. –

+1

ah, así que "rebase el diff de develop y foo en master, y haz que el nuevo foo" –

Cuestiones relacionadas