En mi flujo de trabajo git del día a día, tienen muchas ramas puntuales, así:Git: el mantenimiento de muchas ramas puntuales sobre una base de frecuencia de movimiento
o--o--o (t2) / o--o (t1) / o--o--o (master) \ o--o--o (t3)
Cuando me tire desde aguas arriba,
o--o--o (t2) / o--o (t1) / o--o--o--n--n--n (master) \ o--o--o (t3)
quiero rebase todos mis ramas puntuales en la parte superior del nuevo maestro:
o'--o'--o' (t2) / o'--o' (t1) / o--o--o--n--n--n (master) \ o'--o'--o' (t3)
Actualmente lo hago a mano, usando git rebase --onto
. En este escenario, todo el proceso de actualización sería:
$ git checkout master
$ git pull
$ git rebase master t1
$ git rebase --onto t1 t2~3 t2
$ git rebase master t3
Esto se vuelve aún más peludo al saltar entre diferentes ramas puntuales y compromete la adición.
Dependencias entre las ramas de tema en mi caso son puramente arbórea: ninguna rama depende de más de una sola rama. (Tengo que ejecutar parches dependientes en un orden particular, entonces elijo ese orden a priori.)
¿Hay alguna herramienta que me pueda ayudar a gestionar este flujo de trabajo? He visto TopGit, pero parece estar muy relacionado con el flujo de trabajo basado en correo electrónico tg patch
, que no es relevante para mí.
¿Por qué se rebase '' master 't2' en lugar de sólo rebase que en 't1', como se muestra en el gráfico? Del mismo modo, con 't3', el indicador' --onto' no es apropiado. –
Consulte también la pregunta [rama git rebase con todas las subdivisiones] (http://stackoverflow.com/q/2730866/112968) – knittl
Kevin: whoops, yes - typo :) – nornagon