2010-09-08 3 views
1

J'ai accidentellement poussé quelques changements à la branche principale qui n'étaient pas prêts, donc j'ai immédiatement fait un retour. Plus tard, j'ai essayé de fusionner de nouveaux changements du tronc dans ma branche, mais la fusion n'a pas très bien fonctionné. En particulier, il semblait que le refoulement signifiait que je voulais que toutes mes modifications soient annulées. Heureusement, aucun des fichiers que j'ai modifiés n'a été modifié par les changements sur la branche principale, donc je pourrais simplement revenir aux fichiers locaux, mais s'il y avait eu des conflits, cela aurait été désordonné. Est-ce que je faisais une sauvegarde de la bonne chose à faire dans cette situation, ou y a-t-il autre chose que j'aurais pu faire pour éviter des conflits potentiels plus tard?Mercurial défait pousser à branche principale

Répondre

3

Vous vouliez rollback pas backout. Rollback est une annulation à un niveau du dernier tirage (ou push reçu) ou commit. Backout, applique l'inverse de l'ensemble de modifications que vous spécifiez. Si, par exemple, vous faites un commit et réalisez que vous avez eu une faute de frappe dans le message de validation, vous pouvez rollback (à condition que vous n'ayez fait aucun autre tirage ou validation.) D'un autre côté, vous réalisez que votre nouveau thread scheduler était un mauvais choix et vous voulez l'annuler, puis vous faites un backout, de sorte que l'histoire reflète le chemin que vous avez pris et décidé - parce que c'est une information précieuse aussi

Si vous voulez annuler un appuyez sur, vous devez vous connecter au côté récepteur et faire le rollback là-bas

0

Cela m'est également arrivé, au cas où cela aiderait quelqu'un d'autre: Mon référentiel n'aurait pas dû autoriser les poussées de toute façon. o faire, mettre dans votre fichier .hg/hgrc:

[hooks] 
prechangegroup = false 

C'est, si vous voulez empêcher quiconque de pousser dans ce dépôt.

Questions connexes