Je suis nouveau sur Mercurial. Tout ne peut pas trouver la bonne commande. Essayé mise à jour / checkout sans succès. J'utilise un référentiel local. Merci
Réponses
Trop de publicités? Comme déjà dit, revert
modifie un fichier en place pour le faire correspondre à une révision antérieure. Si vous ne le souhaitez pas, vous pouvez utiliser hg cat -r revisionid filename
(en remplaçant évidemment révisid et nomfichier), qui exportera le fichier sur stdout, ce qui vous permettra de rediriger n'importe où.
hg revert
, en effet, de résoudre ce problème. Mais je pense que vous êtes confus au sujet d'un large éventail de choses que simplement la réponse à votre question et que vous voulez essayer de répondre de manière plus complète.
hg update
est un ensemble référentiel de la commande et ne fonctionnera pas sur des fichiers individuels. C'est contrairement à la subversion svn update
de cette façon. Si vous n' hg --help update
vous pouvez voir que c'est le cas parce que la commande ne prend pas de fichier argument. Il peut être utilisé pour déplacer l'ensemble de votre référentiel à un instantané, mais ne peut pas être utilisé pour faire à un seul fichier.
Si vous tapez hg --help
, vous voyez une liste de commandes. Elle est plutôt grande et un peu intimidant liste, mais si vous le lisez, vous trouverez cette ligne:
revert restore individual files or directories to an earlier state
Maintenant, si vous voulez juste le dernier état à des fins de comparaison, il y a une autre commande que vous pouvez être intéressé, et que l' hg cat
. Qui vous permettra d'imprimer le contenu d'un fichier à la révision. Vous pouvez rediriger le résultat dans un autre fichier. Ensuite, vous pouvez le précédent connu la bonne version de votre fichier et l'ancienne version de comparer côte-à-côte.
La raison pour laquelle Mercurial a séparé update
de commande, c'est qu'il est possible de faire quelque chose dans Mercurial que c'est impossible dans la Subversion. Vous pouvez update
à une version antérieure, apporter des modifications, puis les valider. Cela va créer une branche. L' update
commande a pour effet de changer la révision parent du répertoire de travail actuel ainsi que l'évolution du contenu de tous les fichiers dans ce répertoire pour que les parents de la révision des versions.
Cela signifie que revert
change le contenu d'un fichier (ou même de l'ensemble du référentiel si vous donnez la commande les bons arguments), mais laisse le parent révision de la copie de travail actuelle de la même.
Vous pouvez trouver la révision parent (ou des révisions dans le cas d'une fusion) de la copie de travail actuelle à l'aide de la hg parents
commande.
Dans Subversion, les révisions sont strictement progression linéaire. Mercurial crée des branches à la baisse d'un chapeau, et ils sont presque aussi facile de fusionner. Révisions forme d'un DAG, pas strictement linéaire de la progression.