Comment annuler pour annuler: appuyez crée de nouveau à distance les chefs de la direction générale” dans les mercurial
Je suis conscient de Mercurial pour les Débutants: The Definitive Guide Pratique et des réponses comme Mercurial fusion des branches? (abort: push crée de nouvelles branches distantes)
Ici, j'ai, par inadvertance, a créé une situation où Mercurial veut créer une nouvelle télécommande de la tête. Quel est le meilleur moyen d'annuler cette, et de laisser peu ou pas de traces de cette erreur sur la distance?
###> hg push
pushing to http://example.com
searching for changes
abort: push creates new remote heads on branch 'default'!
(did you forget to merge? use push -f to force)
###> hg revert --all -r tip
###> hg update -C
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
###> hg incoming
comparing with http://example.com
searching for changes
no changes found
###> hg summary
parent: 488:e3db024fe901 tip
Misc.
branch: default
commit: (clean)
update: 6 new changesets, 2 branch heads (merge)
###> hg pull
pulling from http://example.com
searching for changes
no changes found
###> hg glog
@ changeset: 488:e3db024fe901
| tag: tip
| summary: Misc.
|
o changeset: 487:b207579b9d41
| parent: 480:ce775708800c
| summary: Misc.
|
| o changeset: 486:59a7a5b34c7f
| | user: other
| | summary: fixes
| |
| o changeset: 485:b28264333e18
| | user: other
| | summary: binary
Si je fusionne, ça semble OK:
hg merge
abort: outstanding uncommitted merges
Mais hg diff
montre toutes sortes de modifications, je n'ai pas fait. Je suis prêt à re-demander mon changement... comment puis-je apporter tout cela à une seule pointe, l'abandon de tous les changements?
ce n'hg sortant de sortie?
OriginalL'auteur Bryce | 2013-04-05
Vous devez vous connecter pour publier un commentaire.
Il ressemble quand vous avez fait une
hg merge
, vous n'avez pas commis la résultante de l'ensemble de modifications.Lors de la fusion dans une autre branche (dans votre cas, vous pouvez avoir besoin de spécifier
hg merge 486
de fusionner dans les autres utilisateurs des changements), il fusionne la branche dans votre répertoire de travail. Ensuite, vous devez vérifier que tous les conflits sont résolus (si il y en a) à l'aide d'un outil de fusion, ou de modifier manuellement les fichiers (et puis en exécutanthg resolve
sur les conflits). Une fois que ceci est fait, vous devezhg commit
votre nouveau fusionné ensemble de modifications.Cela expliquerait pourquoi
hg diff
vous donne beaucoup de changements que vous n'avez pas, ils sont les modifications effectuées sur l'autre branche, que vous avez encore à s'engager. Si vous exécutezhg summary
ouhg parents
dans votre répertoire de travail, vous devriez voir deux parents répertoriés:486
et488
. Vous devriezhg commit
ce répertoire de travail, la création d'un nouveau fusionné489
.Si vous souhaitez annuler le courant de fusion et de commencer à nouveau, vous avez raison en essayant d'exécuter
hg update -C
, qui mettra votre répertoire de travail à son origine (non fusionné) de l'état.Si vous voulez se débarrasser de vos modifications (
487
et488
- vous de l'état, vous n'avez pas l'esprit de ré-appliquer vos modifications), l'option la plus facile sans avoir recours à des extensions est simplement de re-cloner le dépôt et continuer votre travail à partir de là.OriginalL'auteur
Pour se débarrasser de changements (ex 487 et 488):
Si vous vous sentez (comme moi) qui re-cloner le repository, comme recommandé ci-dessus et même officiellement recommandé ici est ridicule, alors vous devriez obtenir MqExtension
Une fois que la Mq est activé, vous pouvez facilement supprimer les modifications que vous ne voulez pas:
liens mis à jour vers les nouvelles mercurial site de documentation
OriginalL'auteur
Je n'ai pas de fusion, mais tout à coup, je visualise le message de l'op a posté. Quand je fais un hg pull, dans la ligne de commande, il montre abandonner !référentiel par défaut pas trouvé.
OriginalL'auteur