Trabajo con un equipo pequeño que usa git para la administración de código fuente. Recientemente, hemos estado haciendo ramas de temas para hacer un seguimiento de las características y luego fusionarlas en el maestro localmente y luego enviarlas a un repositorio central de git en un servidor remoto. Esto funciona muy bien cuando no se han realizado cambios en el maestro: creo mi rama de tema, la comprometo, la fusiono en maestro y luego la presiono. Hurra.git rebase en actualizaciones remotas
Sin embargo, si alguien ha enviado a origen antes que yo, mis confirmaciones no son rápidas. Por lo tanto, se produce un compromiso de fusión. Esto también ocurre cuando una rama de tema debe fusionarse con el maestro localmente para garantizar que mis cambios funcionen con el código a partir de ahora. Por lo tanto, terminamos con confluencias de fusión en todas partes y un registro de git que rivaliza con un brazalete de amistad.
Por lo tanto, el rebase es la opción obvia. Lo que me gustaría es:
- crear ramas puntuales que sostiene varias entregas
- checkout master y tire (avance rápido porque no he cometido para dominar)
- ramas puntuales rebase en el nuevo jefe de dominar
- rebase los temas contra el maestro (por lo que los temas a empezar por la cabeza maestros), con lo que amo a mi tema cabeza
mi forma de hacer esto actualmente se enumeran a continuación:
git checkout master
git rebase master topic_1
git rebase topic_1 topic_2
git checkout master
git rebase topic_2
git branch -d topic_1 topic_2
¿Hay una forma más rápida de hacerlo?
Es la última fusión necesaria. Puedo imaginar la novedad de ver todas las horquillas de trabajo en el gráfico, pero el código ya está integrado en el maestro y no creo que sea irrazonable descartar el código de trabajo si no se convierte en una verdadera bifurcación. De lo contrario, en mi humilde opinión, esta respuesta es perfecta. –