53 votes

Différence entre Revenir et mettre à Jour Mercurial

Je suis juste de commencer avec Mercurial, et je suis tombé sur quelque chose que je ne comprends pas.

J'ai fait des modifications à plusieurs fichiers, et maintenant je veux annuler toutes les modifications que j'ai apportées à l'un d'eux (c'est à dire revenir à mon dernier commit pour un fichier spécifique).

Aussi loin que je peux voir, la commande que je veux c'est de revenir.

Dans la page, il y a la déclaration suivante:

Cette opération ne change pas la révision parent de travail répertoire (ou des révisions dans le cas d'une non validées de fusion). Pour annuler une uncomitted de fusion, vous pouvez utiliser "hg mise à jour -C -r". ce qui permettra de rétablir les les parents pour le premier parent.

Je ne comprends pas la différence entre les deux (hg revert vs hg update -C -r). Quelqu'un peut-il m'éclairer sur la différence? Et dans mon cas, dois-je vraiment envie de revenir ou de la mise à jour d'aller se débarrasser des modifications que j'ai apportées au fichier?

Merci

65voto

jk. Points 8019

La première différence est revert peut travailler sur un sous-ensemble de la copie de travail tandis que la mise à jour fonctionne sur l'ensemble de la copie de travail. l'autre différence est dans ce qui se passe lorsque vous souhaitez revenir à une version autre que la dernière engagée.

si nous avons des révisions (les bouchons sont engagés, en minuscules, ce sont des changements dans la copie de travail, révision parent est C )

A-B-C-d

update -C -r B vous donnera

A-B-C

avec votre copie de travail définie à B, tout changement entraînera une ramification de B (révision parent réglage B)

A-B-C
  \e

revert -r B vous donnera

A-B-C-b'

où b' est un ensemble de modifications qui annule tout dans l'intermédiaire commis des modifications, dans ce cas, il défait toutes les de C. tout changement maintenant juste rejoindre le b' set (révision parent resté inchangé à C)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X