Pour autant que je comprenne votre problème en ce moment, vous poussez vers un référentiel et il y a d'autres gars qui utilisent le même référentiel. Correct?
Pour moi, il semble que vous ne travailliez pas sur la dernière validation, donc plusieurs têtes sont créées sur votre branche actuelle. Notez d'ailleurs: il y a une différence entre les têtes et les branches dans Mercurial.
Je peux imaginer quelque chose comme cela vous arrive (en supposant que nous travaillons sur une seule branche):
Votre copie de travail:
1-2-3-4-5-6 (where number is revision)
afin que vous vous engagez sur r6
, par exemple deux commandes 7'
et 8'
.
maintenant votre copie de travail ressemble à ceci:
1-2-3-4-5-6-7'-8'
Mais en attendant le dépôt partagé que vous êtes tous à pousser/tirer des regards comme celui-ci:
1-2-3-4-5-6-7-8-9-10 (so r10 is the 'latest' commit published)
Maintenant, si vous êtes poussant au référentiel partagé, cela se produit:
7'-8'
/
1-2-3-4-5-6-7-8-9-10
et le tour est joué, il y a maintenant deux têtes différentes, appelé 8'
et 10
. Pour l'avenir, tirer le premier du référentiel partagé et mettre à jour le dernier commit vous évitera ce problème. Maintenant, comme votre question était de savoir comment résoudre les têtes multiples, il existe différentes options, la plus simple pour vous est de faire une simple fusion.
hg help merge
Selon si les têtes ne sont que localement (un coup d'oeil à la phase de vos têtes/engage), vous avez plus (peut-être plus élégant) options, par exemple rebasing.
En général, this est une bonne ressource pour démarrer/approfondir avec Mercurial.