Entrambe hg revert
e hg backout
annullano le modifiche apportate da una precedente revisione. Qual è la differenza tra i due?Qual è la differenza tra hg revert e hg backout?
14
A
risposta
29
data la storia di changeset:
A --- B --- C --- D --- E
[bad] (*)
hg revert -r B
: Soggiorno a revisione attuale, ma aggiornare la directory di lavoro a partire dalla revisione B
. Ha l'effetto di una patch che revoca le modifiche di C
, D
e E
.
hg backout -r C
: Aggiornare la directory di lavoro in modo che contenga il fusione di revisione di C genitore (B
) e la revisione attuale, conservando le modifiche fatta tra le due revisioni (dir lavoro contiene ancora cambiamenti di revisione D
e E
). Ciò ha l'effetto di una patch applicata su E
, che annulla le modifiche di solo C
.
È possibile modificare alcuni file se non tutto il C
non è valido. Ricordatevi di fare un hg commit
in ogni caso:
A --- B --- C --- D --- E --- F
[bad] (*)
Rispondendo alla mia domanda proprio come io non ho trovato nulla chiaro su web. Speriamo che questo aiuti gli altri ora a risparmiare un po 'di tempo. – Iodnas
Bella risposta! Il mio "[cheat sheet] (http://stackoverflow.com/a/2565996/110204)" spiega la differenza tra "hg update" e "hg revert", che potrebbero essere d'aiuto. –
Perché non hai accettato la tua risposta? – PhoneixS