2010-10-14 3 views

Répondre

1

Si c'est la toute dernière chose que vous avez faite, vous pouvez faire un 'rollback hg' qui est une annulation d'un niveau. Si, cependant, vous avez fait quoi que ce soit puisque cela modifie l'état du dépôt (push, pull, commit, etc.) alors la restauration ne vous aidera pas.

Si c'est une consolation, la fusion est généralement préférable au rebasing et une histoire mercurial avec beaucoup de fusions montre quelqu'un qui utilise mercurial à son plein. :)

+0

Depuis que mes modifications ont juste ajouté de nouveaux fichiers, au lieu de modifier les fichiers existants, j'ai pensé qu'il serait utile de rebaser au lieu de faire une branche et de fusionner. Je suppose que ça n'a pas vraiment d'importance de toute façon – Casebash

+0

Il n'y a rien de "mal" à rebaser, mais pour certaines raisons, certains considèrent une histoire linéaire comme une histoire "plus jolie", alors que je veux une histoire qui montre l'ordre réel dans lequel fait et parfois cet ordre est parallèle. Si vous en avez vraiment besoin, vous pouvez toujours 'cloner -r' votre repo jusqu'au point où votre repo a divergé et ensuite déplacer les changements que vous souhaitiez être linéaires en utilisant l'export et l'import ou l'extension de greffe fonctionnellement identique. Je voudrais juste apprendre à vivre avec l'histoire précise que vous avez. –

+1

Si vous prétendez que la fusion est préférable au rebasage, soutenez-la avec quelques preuves. –

6

En supposant que vous ne l'ayez pas poussé vers un autre repo pour que d'autres puissent l'attraper, vous pouvez placer ces changesets n'importe où sur le graphe que vous voulez. Vous pouvez déplacer des changesets avec hg rebase et élaguer des changsets et leurs descendants avec hg strip.

Les deux bandes et rebasage Enregistrer « annuler » informations bundle fichiers dans votre .hg/bande de sauvegarde/

Notez que ni bande, ni rebasage sont activés par défaut avec Mercurial. Vous devez les activer dans le fichier .hgrc.

Questions connexes