Sowohl hg revert
als auch hg backout
nehmen Änderungen zurück, die von einer früheren Revision vorgenommen wurden. Was ist der Unterschied zwischen den beiden?Was ist der Unterschied zwischen hg und hg rückgängig machen?
14
A
Antwort
29
die Geschichte der Changesets Gegeben:
A --- B --- C --- D --- E
[bad] (*)
hg revert -r B
: bei aktuellen Revision bleiben, aber das Arbeitsverzeichnis ab Revision B
aktualisieren. Es hat die Wirkung eines Patches, der die Änderungen von C
, und E
widerruft.
hg backout -r C
: Aktualisieren Sie das Arbeitsverzeichnis, so dass es die enthält merge der Revision C des Mutter (B
) und der aktuellen Version, um die Änderungen zu bewahren gemacht zwischen den beiden Revisionen (Arbeitsverzeichnis enthält noch Änderungen von Revision und E
). Dies hat die Wirkung eines Patches, der auf E
, angewendet wird und die Änderungen von nur C
rückgängig macht.
Möglicherweise möchten Sie einige Dateien bearbeiten, wenn nicht alle C
schlecht war. Denken Sie daran, ein hg commit
in jedem Fall zu tun:
A --- B --- C --- D --- E --- F
[bad] (*)
meine eigene Frage zu beantworten, da ich nicht alles klar auf Web finden konnte. Hoffentlich hilft das jetzt anderen, etwas Zeit zu sparen. – Iodnas
Schöne Antwort! Mein "[cheat sheet] (http://stackoverflow.com/a/2565996/110204)" erklärt den Unterschied zwischen 'hg update' und' hg revert', was ebenfalls hilfreich sein könnte. –
Warum hast du deine Antwort nicht akzeptiert? – PhoneixS