hg strip vs hg backout und hg revert

80

Was ist der Unterschied zwischen den Quecksilberbefehlen?

  • hg strip
  • hg backout
  • hg revert

Alle diese Befehle werden grundsätzlich verwendet, um die Auswirkungen eines früheren Änderungssatzes zurückzusetzen / rückgängig zu machen.

Gopinagh.R
quelle

Antworten:

104

hg stripEntfernt das Änderungsset und alle seine Nachkommen aus dem Repository. Es wird so sein, als ob die Änderungen nie existierten. Seien Sie vorsichtig, wenn Sie dies für publicÄnderungssätze verwenden, da es nicht aus einem anderen Repository entfernt wird und Sie es beim nächsten Abrufen zurückerhalten.

hg backoutErstellt einen neuen Änderungssatz, um den Effekt eines früheren Änderungssatzes umzukehren. Das alte Änderungsset bleibt weiterhin im Repository, aber auch ein neues Änderungsset, um die Änderungen zu entfernen.

hg revertMit einer Revision wird die Arbeitskopie auf die angegebene Revision aktualisiert. Wenn Sie diese Arbeitskopie dann festschreiben, werden alle Änderungen seitdem rückgängig gemacht.

Weitere Antworten mit weiteren Informationen zu Zurücksetzen und Zurücksetzen:

Steve Kaye
quelle
1
Hallo, wird hg backout die Datei hinzufügen / entfernen, die bei der falschen Zusammenführung passiert ist, was ich backout mache? Btw habe ich versucht und fand bleiben die neuen Dateien in Repo
regen
Beim Umgang mit UNPUSHED-Änderungssätzen kann ich keinen Unterschied zwischen "hg strip --keep tip" und "hg backout" (versucht mit Mercurial 4.5.2) feststellen. Beide entfernen den neuesten Änderungssatz / Commit und behalten Änderungen bei
Tom
0

Zu einem bestimmten Zeitpunkt musste ich eine Jenkins-Pipeline erstellen, in der POM-Dateien bei jedem Jobstart zurückgesetzt werden sollten. Und das Problem, mit dem ich konfrontiert war, ist: wie man alle POM-Dateien umgekehrt zurücksetzt.

Da diese Antwort eine der ersten bei Google ist, möchte ich meine Lösung für Menschen mit demselben Problem beitragen

hg revert */pom.xml
Alex K.
quelle