Wie kann ich meine letzte versehentlich festgeschriebene (nicht gedrückte) Änderung in Mercurial rückgängig machen?
Wenn möglich, wäre eine Möglichkeit mit TortoiseHg vorzuziehen.
Aktualisieren
In meinem konkreten Fall habe ich einen Änderungssatz festgeschrieben (nicht gepusht). Dann habe ich vom Server gezogen und aktualisiert. Mit diesen neuen Updates habe ich entschieden, dass mein letztes Commit veraltet ist und ich es nicht synchronisieren möchte. Es scheint also hg rollback
nicht genau das zu sein, wonach ich suche, weil es den Pull anstelle meines Commits rückgängig machen würde.
strip --keep
: stackoverflow.com/questions/29413851/… löst die Aufgabe direkt, ebenso wie MQ qimport. Alternativ kann es besser sein, einfach rebase
im Szenario, wenn die lokalen Änderungen ebenfalls beibehalten werden sollen und kein Konflikt vorliegt. (Verwenden Sie eine Zusammenführung, um einige kombinierte Änderungen aus beiden Zweigen beizubehalten, wenn dies das gewünschte Endziel des Diagramms ist, insbesondere in einem Fall ohne schnellen Vorlauf.) Es kann auch gültig sein, nur den Zweig zu schließen, wodurch der Verlauf weiterhin erhalten bleibt (aber anders als eine Zusammenführung) je nach gewünschtem Endzustand.
hg strip --keep
wird der Befehl verwendet, aber Sie müssen eine Revision bereitstellen, z hg strip --keep -r .
. Diese Antwort erklärt gut stackoverflow.com/a/19064016/1286571
hg rollback
und dann wieder ziehen?