Zarówno hg revert
i hg backout
przywracają zmiany dokonane przez poprzednią wersję. Jaka jest różnica między tymi dwoma?Jaka jest różnica między wycofaniem hg a wycofaniem hg?
14
A
Odpowiedz
29
Biorąc pod uwagę historię Zestawienia zmian:
A --- B --- C --- D --- E
[bad] (*)
hg revert -r B
: Pobyt w obecnej wersji, ale aktualizować katalog roboczy jak rewizji B
. Ma efekt poprawki, która odwołuje zmiany , , i.
hg backout -r C
: Aktualizacja katalogu roboczego tak, że zawiera ona seryjnej z Wersja C za rodzica (B
) i aktualnego przeglądu, zachowując zmiany wykonane pomiędzy dwiema wersjami (reż pracuje nadal zawiera zmiany wersja D
i E
). Efektem tego jest łata zastosowana na E
, cofająca zmiany tylko o C
.
Może chcesz edytować niektóre pliki, jeśli nie wszystkie z C
było złe. Pamiętaj, aby zrobić się hg commit
w każdym przypadku:
A --- B --- C --- D --- E --- F
[bad] (*)
Odpowiadając na moje własne pytanie, bo nie mógł znaleźć coś jasnego na internecie. Mam nadzieję, że to pomoże innym zaoszczędzić trochę czasu. – Iodnas
Dobra odpowiedź! Mój "[cheat sheet] (http://stackoverflow.com/a/2565996/110204)" wyjaśnia różnicę między 'hg update' i' hg revert', co również może być pomocne. –
Dlaczego nie zaakceptowałeś swojej odpowiedzi? – PhoneixS