2012-12-07 13 views

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]    (*) 
+4

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

+0

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. –

+1

Dlaczego nie zaakceptowałeś swojej odpowiedzi? – PhoneixS

Powiązane problemy