Come posso annullare il mio ultimo cambiamento commesso accidentalmente (non spinto) in Mercurial?
Se possibile, sarebbe preferito un modo per farlo con TortoiseHg.
Aggiornare
Nel mio caso concreto ho commesso un changeset (non spinto). Quindi ho estratto e aggiornato dal server. Con questi nuovi aggiornamenti ho deciso che il mio ultimo commit è obsoleto e non voglio sincronizzarlo. Quindi sembra che hg rollback
non sia esattamente quello che sto cercando, perché ripristinerebbe il pull invece del mio commit.
strip --keep
: stackoverflow.com/questions/29413851/… risolve direttamente l'attività, così come MQ qimport. In alternativa, può essere meglio semplicemente rebase
nello scenario se i cambiamenti locali sono anche essere mantenuti e non c'è conflitto. (Usa un'unione per mantenere alcune modifiche combinate da entrambi i rami quando quello è l'obiettivo finale del grafico desiderato, specialmente in un caso non veloce.) Potrebbe anche essere valido solo per chiudere il ramo, che "conserva ancora la cronologia" (ma diversamente da un'unione) a seconda dello stato finale desiderato.
hg strip --keep
è il comando fare uso, ma è necessario fornire una revisione, per esempio: hg strip --keep -r .
. Questa risposta spiega bene stackoverflow.com/a/19064016/1286571
hg rollback
e poi tirare di nuovo?