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
)