¿Puedo cambiar de qué twig proviene una twig de Git?

En nuestro proyecto tenemos una twig de desarrollo, y cada vez que trabajamos en un problema, nos ramificamos desde el desarrollo hasta el elemento xxxx y hacemos nuestro trabajo allí.

Parece que el item-0012 se bifurcó de una confirmación del item-0009 lugar de la twig de develop y se empujó. Por lo tanto, una fusión del item-0012 en el desarrollo includeía cambios para ambas twigs.

¿Hay alguna manera de hacer que item-0012 vuelva a ser develop ? No se realizaron cambios en el item-0009 necesario para el item-0012 .

Lo siento si me estoy perdiendo los términos, sin dejar de mirar a Git.

En este momento, Git tiene un aspecto similar al del item-0012 derivado de la confirmación (c17) de la twig item-0009 :
desarrollo- (c14) – (c16) – (c18)
____ \ item-0009- (c15) – (c17)
____________________ \ item-0012- (c20)

Me gustaría que la twig item-0012 inicie en commit (c16):
desarrollo- (c14) – (c16) – (c18)
_____________ \ item-0012- (c20)

es posible?

¿Has intentado volver a clasificar tu artículo-0012 para desarrollar? De los documentos de rebase:

  Here is how you would transplant a topic branch based on one branch to another, to pretend that you forked the topic branch from the latter branch, using rebase --onto. First let's assume your topic is based on branch next. For example, a feature developed in topic depends on some functionality which is found in next. o---o---o---o---o master \ o---o---o---o---o next \ o---o---o topic We want to make topic forked from branch master; for example, because the functionality on which topic depends was merged into the more stable master branch. We want our tree to look like this: o---o---o---o---o master | \ | o'--o'--o' topic \ o---o---o---o---o next We can get this using the following command: git rebase --onto master next topic 

Deberías git rebase --onto develop item-0009 item-0012

Ya que todavía estás volviendo la cabeza con git, te daré una respuesta más general.

Las twigs no "se derivan" una de la otra

Es importante comprender el hecho de que las sucursales en git no son "ciudadanos de primera class". No son más que pequeñas notas adhesivas que apuntan a un compromiso específico. Se pueden mover, crear y eliminar sin cambiar nada en el contenido real del repository. No countn como "historia inmutable" como lo hacen los commits.

No son nada en absoluto como twigs en otros sistemas (Subversion, etc.), es decir, no son pesados.

Especialmente, no tiene ningún sentido para una twig ser padre de otra twig; las twigs no tienen ninguna relación con nada, excepto con el compromiso único que señalan. Son solo un alias para los hashes de cometa crípticos, si quieres.

Rebase es tu amigo

git rebase hace lo que quieres. Si puede, intente averiguar cómo con la database de git help rebase , tiene imágenes ASCII y todo lo necesario para get la línea de command necesaria, así que no cortaré y pegaré esas cosas en esta respuesta. Vale la pena hacer la vuelta de cabeza con git rebase también (es decir, estudiar el manual de reference aka git help rebase ): puedes hacer cosas maravillosas con él y es una de las características más importantes de git .