git merge Déjà à jour lorsqu'il n'est pas

Tout en travaillant sur un projet à l'aide de git et bitbucket.com il y a les branches suivantes:

master
development
uat
production

Quand j'ai commencé le travail sur le projet, j'ai pris un git clone de développement (en pensant naturellement qu'il contenait à l'état de l'art de code). Des mois de travail plus tard, et maintenant il s'avère que le code dans la branche de la production (qui est actuellement en cours d'exécution dans la production) a une version plus récente que le code que j'ai commencé avec la direction du développement.

Lorsque je tente de l':

git checkout development
git merge production

il dit "Déjà à jour". Quand je vais:

git diff production..development

il crache beaucoup de changements que dire de la production de la branche a du code qui n'est pas dans la branche de développement. Comment puis-je faire le code de production fusionner avec le développement de code sans l'essuyer mon mois de travail?

Voir aussi Git merge rapports “Déjà à jour” si il y a une différence.
Cela pourrait également se produire si vous fetch mais oublie de pull la direction générale, vous êtes en essayant de fusionner dans votre branche.

OriginalL'auteur Warwick Hall | 2014-03-11