hg strip vs hg backout i hg revert

80

Jaka jest różnica między poleceniami mercurial,

  • hg strip
  • hg backout
  • hg revert

Wszystkie te polecenia są zasadniczo używane do cofania / cofania efektów wcześniejszego zestawu zmian.

Gopinagh.R
źródło

Odpowiedzi:

104

hg stripusuwa zestaw zmian i wszystkie jego elementy potomne z repozytorium. Będzie tak, jakby zmiany nigdy nie istniały. Zachowaj ostrożność, używając tego na publiczestawach zmian, ponieważ nie usunie to z żadnego innego repozytorium, a odzyskasz je następnym razem, gdy ściągniesz.

hg backouttworzy nowy zestaw zmian, aby odwrócić efekt wcześniejszego zestawu zmian. Stary zestaw zmian nadal pozostanie w repozytorium, ale pozostanie nowy zestaw zmian, który usunie zmiany.

hg revertz poprawką aktualizuje kopię roboczą do określonej wersji. Jeśli następnie zatwierdzisz tę kopię roboczą, spowoduje to cofnięcie wszystkich zmian od tamtego czasu.

Inne odpowiedzi zawierające więcej informacji na temat przywracania i wycofywania:

Steve Kaye
źródło
1
Cześć, czy hg backout przywróci plik dodawania / usuwania, który wydarzył się podczas złego scalania, które robię z powrotem? Przy okazji, próbowałem i odkryłem, że nowe pliki pozostają w repozytorium
deszcz
Podczas pracy z zestawami zmian UNPUSHED nie widzę różnicy między "hg strip --keep tip" i "hg backout" (próbowano z Mercurial 4.5.2) - oba usuwają najnowsze zestaw zmian / zatwierdzenie i zachowują zmiany
Tom
0

W pewnym momencie musiałem zbudować potok Jenkinsa, w którym pliki POM powinny być przywracane przy każdym uruchomieniu zadania. A problem, z którym się zmierzyłem, to: jak odwrócić wszystkie pliki POM w odwrotnej kolejności.

Ponieważ ta odpowiedź jest jedną z pierwszych w Google, chcę wnieść moje rozwiązanie dla osób z tym samym problemem

hg revert */pom.xml
Alex K.
źródło