Ich bin neu in der Zusammenarbeit mit Mercurial. Meine Situation:
- Ein anderer Programmierer hat Version 1 einer Datei geändert, um Einrückungen mit 4 Leerzeichen durch Einrückungen mit 2 Leerzeichen zu ersetzen. (Dh jede Zeile geändert.) Rufen Sie diese Version 2 auf und drücken Sie sie auf das Remote-Repo.
- Ich habe wesentliche Änderungen Rev. 1 mit verschiedenen Codeänderungen in meinem lokalen Arbeitsbereich vorgenommen. Nennen Sie das Rev. 3.
- Ich habe
hg pull
ed undhg merge
d ohne eine klare Vorstellung davon, was los war. - Die Konflikte sind unzählig und nicht wirklich substanziell.
Ich wünschte wirklich, ich hätte mein lokales Repo vor dem Zusammenführen in 2-Leerzeichen-Einrückungen geändert. dann wird die Zusammenführung trivial sein (ich nehme an). Aber ich kann nicht zurücktreten. Ich denke ich muss hg update -r 3
aber es heißt abort: outstanding uncommitted merges
.
Wie kann ich die Zusammenführung rückgängig machen, den Abstand in meinem lokalen Repo ändern und erneut zusammenführen?
M-x indent-region
genau wie der Trick mit der Wiederholung.Übrigens: Wenn Sie die von Ihnen vorgenommene Zusammenführung nur rückgängig machen und 3 nicht Ihre Revisionsnummer ist, können Sie dies tun:
quelle
.
ist eine Abkürzung zur vorherigen Revision.hg help update
Ich bekomme: Wenn kein Änderungssatz angegeben ist, aktualisieren Sie auf den Tipp des aktuell benannten Zweigs ... und Tipp ist möglicherweise nicht immer Ihre aktuelle Revision, an der Sie arbeiten. Ich habe es bisher nicht getestet ..-r .
ist die gleicheVerwenden Sie, um eine nicht festgeschriebene Zusammenführung rückgängig zu machen
Dadurch wird eine saubere Kopie des ursprünglichen übergeordneten Merges ausgecheckt, wobei alle Änderungen verloren gehen.
quelle
Ich musste anscheinend nur
hg update -C -r 3
, was meine lokalen Dateien mit Blick auf die Drehzahl überschreibt (was ich dachte,hg update
würde tun; aber ich habe mich geirrt.) Danke für meine Hilfe!quelle
-C
oder--clean
wird Mercurial angewiesen, fortzufahren, auch wenn dadurch einige geänderte Dateien weggeworfen werden. Sie haben Recht, dashg update -r X
bringt Sie normalerweise zur Revision X, aber wenn Sie sich in einer Fusion befinden, müssen Sie ein bisschen mehr darauf bestehen :-)