¿Cuál es el flujo de trabajo de command recomendado para mantener mi twig de características actualizada desde el desarrollo y luego fusionar de nuevo mis cambios para desarrollar

Sé que esta parte de esta pregunta se ha formulado en varios foros, pero no puedo ver la secuencia completa de commands en un solo lugar.

Quiero tener una twig de características myFeature que sea una twig de larga vida, digamos que el trabajo lleva un par de semanas. De vez en cuando quiero fusionarme de desarrollo para mantener mi twig de funciones actualizada. Cuando la function esté completa, quiero fusionar mi twig para desarrollarla. También tenga en count que quiero que mi twig de características sea pública. ¿Cuál es la secuencia recomendada de commands para esto?

Lo es:

(1) Crear mi sucursal:

git fetch git checkout develop git pull git checkout -b myFeature 

(2) Confirmar algunos cambios en mi twig

(3) Empuje mi twig

 git push -u origin myFeature 

(4) Haga algunos cambios más en myFeature

(5) Empuje esos cambios. (Nota: dado que myFeature ahora es público, otros podrían comprometerse con él también).

 git fetch git pull --rebase git push 

(6) Han pasado unos días, quiero fusionarme del desarrollo.

 git fetch get merge develop git push 

(7) Repita 6 cada pocos días según sea necesario.

(8) La function está completa. Quiero fusionarlo:

 git fetch git checkout develop git pull git merge --no-ff myFeature git push 

¿Es esta la manera más clara, en términos de la historia de compromiso del desarrollo?

En particular, ¿los commits fusionados de develop en el paso 6 de alguna manera tienen un efecto no deseado en el historial de commit de develop cuando myFeature se fusiona para desarrollarse en el paso 8?

Creo que deberías seguir ese enfoque.

1) Crear la twig característica de desarrollar

 git checkout -b my_feature 

2) Confirmar algunos cambios

 // do some changes and commit it git pull // resolve conflict if exist and commit git push origen my_feature 

3) Todos los días actualice su twig de feature desde develp

 git merge develop // resolve conflict if exist and commit 

4) Característica completada:

 git checkout develop git pull git merge my_feature // resolve confict and commit, if exist git push origen develop 

NOTA: puede hacer el paso 3 a mitad del paso 2 (después de la git pull )