Persönlich mag ich keine der bisher veröffentlichten Antworten:
- Ich mag keine Klonverzweigung, weil ich möchte, dass jedes Projekt nur ein Verzeichnis hat. Wenn Sie gleichzeitig an verschiedenen Verzeichnissen arbeiten, wird der Verlauf der letzten Dateien meiner Editoren vollständig durcheinander gebracht. Am Ende ändere ich immer die falsche Datei. Also mache ich das nicht mehr.
- ich benutze
shelve
für schnelle Korrekturen (nur um meine nicht festgeschriebenen Änderungen in einen anderen Zweig zu verschieben, wenn ich merke, dass ich am falschen bin). Sie sprechen von Tagen, auf keinen Fall würde ich tagelang etwas zurückstellen.
- Ich denke, es
mq
ist zu kompliziert für eine so gewöhnliche Sitzung
Ich denke, der beste Weg ist, einfach Ihre Änderungen festzuschreiben, bevor Sie zum Änderungssatz zurückkehren, bevor Sie diese Änderungen starten und von dort aus arbeiten. Es gibt einige kleinere Probleme, lassen Sie mich veranschaulichen:
Angenommen, Sie haben das Änderungsset A. Dann beginnen Sie mit Ihren Änderungen. An dieser Stelle möchten Sie es für eine Weile beiseite legen. Legen Sie zunächst Ihre Arbeit fest:
hg ci -m "Working on new stuff"
Wenn Sie möchten, können Sie ein Lesezeichen hinzufügen, um die spätere Rückkehr zu vereinfachen. Ich erstelle immer Lesezeichen für meine anonymen Zweige.
hg bookmark new-stuff
Kehren Sie vor diesen Änderungen zum Änderungssatz zurück
hg update A
Von hier aus arbeiten Sie und generieren das Änderungsset C. Jetzt haben Sie 2 Köpfe (B und C) und werden gewarnt, wenn Sie versuchen zu drücken. Sie können nur einen Zweig verschieben, indem Sie den Kopf dieses Zweigs angeben:
hg push -r C
Oder Sie können die Phase des new-stuff
Zweigs in geheim ändern . Geheime Änderungssätze werden nicht gepusht.
hg phase -r new-stuff --secret --force