GIT merge intentó pero dice "actualizado"

He revisado los otros enlaces con respecto a esta pregunta y no parecen responder cuál es mi problema.

Refactorizamos completamente nuestra aplicación. Durante la refactorización, un pequeño equipo (incluyéndome a mí) usó una twig llamada refactor para mantener nuestro trabajo bajo el control de la fuente. Cuando terminamos todos y estábamos listos para replace la aplicación anterior con la aplicación refactorizada, tuve que crear 4 twigs dentro de GIT:

  • development
  • qa
  • staging
  • master

Lo logré de la siguiente manera:

  1. Usando mi copy de refactor fui a bash y emití el command git checkout -b development
  2. Empujé la twig de development al server
  3. Seguí los pasos 1 y 2 para qa , staging y master

Ahora hemos comenzado un sprint. Todos los desarrolladores han clonado el development y luego emitieron el command bash git checkout -b <featurename> y realizaron su trabajo allí. Cuando se completen, fusionarán su trabajo nuevamente con los commands de desarrollo:

  • git checkout development
  • git merge --no-ff <featurename>
  • git push origin development

Más tarde me meto y fusiono el development con qa haciendo lo siguiente.

En mi copy local de qa realicé los siguientes pasos:

  1. git pull
  2. git mrege --no-ff origin/development
  3. Luego me commit y push para qa

Esto funcionó para dos de los desarrolladores. Ayer mismo, un desarrollador fusionó su twig de características en development y me pidió que hiciera la fusión del development con qa . Puedo ver en los loggings que la característica está en development y NO en qa . Cuando estoy en qa , qa el command git pull y dice que todo está actualizado. Luego hago git merge--no-ff origin/development dice "Ya está actualizado".

No puedo fusionar el development con qa . ¿Por qué?

Probablemente quieras:

 $ git fetch 

Mi suposition es que git pull solo está buscando la twig actual ( qa ). Eso significa que el origin/development twig de seguimiento no se está actualizando. Para verificar que esto sea cierto, ejecute el command (antes y después de la git fetch ):

 $ git log qa..origin/development 

Esto volverá vacío si qa y origin/development son exactamente iguales.