2012-04-17 18 views
41

Estoy usando las herramientas de flujo de git y me he metido en un problema. Mis ramas git han divergido. He leído master branch and 'origin/master' have diverged, how to 'undiverge' branches'? y he intentado seguir los pasos, ambos intentando fusionar y volver a establecer la base de mi repositorio local.las ramas de flujo de git han divergido

¿Cómo puedo salir de esto? Ya terminé con la función de flujo de git y me gustaría cambiar mis cambios al control remoto. ¡Gracias!

Respuesta

86

Lo que sucede aquí es que el control remoto ha recibido actualizaciones, y git-flow requiere que develop y origin/develop estén en la misma confirmación antes de fusionar la función. Esto es para evitar malos conflictos al publicar la rama.

Para solucionar esto, es necesario:

  1. sincronización de su localidad develop con origin: Pedido develop y tirar de origin a develop (git checkout develop && git pull origin)

  2. rebase su función en develop con git flow feature rebase showFindLogs . Es posible que tenga conflictos aquí si tiene la mala suerte de verificación

  3. que no se rompe nada

  4. git flow feature finish showFindLogs

+3

Muchas gracias! –

+2

¿No se 'desarrollará & git pull origin' creará un mensaje de confirmación "Fusionando origen/desarrollo en desarrollo"? ¿No sería mejor que 'git checkout development && git rebase origin' (aka' git pull --rebase origin') en esta situación? – PeterB

+0

@PeterB: sí, si 'develop' y' origin/develop' se han separado, pero no es una situación común – CharlesB

0

Usted puede recuperar a partir de $ origen antes característica de meta con este comando:

git flow feature finish -F <name> 

(docs)

3

Asegúrese de que su rama develop no está detrás del origen, tal vez usted necesita para llevar a cabo

git checkout develop

git pull

git checkout release/x.x.x

y continuar con el proceso de liberación

0

Porque el que googlear este error, y el uso de Hub-Flow - acaba de hacer:

git hf update 
0

Para resolver este problema, puede utilizar mi implementación de git flow, basado en la solución @ childno͡.de.

git flow feature/hotfix/release/bugfix -e finish <name> 

Para instalar git flujo ejecutar en la consola:

git clone https://github.com/wyhasany/gitflow-avh/;cd gitflow-avh/;git checkout feature/force_merge;git pull;sudo make install 
Cuestiones relacionadas