Oto ściągawka na polecenia:
hg updatezmienia wersję nadrzędną kopii roboczej, a także zmienia zawartość pliku, aby pasowała do tej nowej wersji nadrzędnej. Oznacza to, że nowe zatwierdzenia będą kontynuowane od zaktualizowanej wersji.
hg revertzmienia tylko zawartość pliku i pozostawia samą wersję nadrzędną kopii roboczej. Zazwyczaj używasz tego, hg revertgdy decydujesz, że nie chcesz zachować niezatwierdzonych zmian, które wprowadziłeś w pliku w kopii roboczej.
hg branchuruchamia nowy nazwany oddział. Pomyśl o nazwie gałęzi jako etykiecie, którą przypisujesz do zestawów zmian. Jeśli tak hg branch red, to następujące zestawy zmian zostaną oznaczone jako należące do „czerwonej” gałęzi. Może to być dobry sposób na organizowanie zestawów zmian, szczególnie gdy różne osoby pracują w różnych gałęziach, a później chcesz sprawdzić, skąd pochodzi zestaw zmian. Ale nie chcesz go używać w swojej sytuacji.
Jeśli użyjesz hg update --rev 38, to zestawy zmian 39–45 zostaną pozostawione jako ślepy zaułek - zwisająca głowa, jak to nazywamy. Otrzymasz ostrzeżenie, gdy będziesz pchać, ponieważ będziesz tworzyć „wiele głów” w repozytorium, do którego pchasz. Jest to ostrzeżenie, ponieważ jest to trochę niegrzeczne, aby pozostawić takie głowy, ponieważ sugerują, że ktoś musi wykonać scalenie. Ale w twoim przypadku możesz po prostu iść naprzód, a hg push --forceponieważ naprawdę chcesz pozostawić go wisi.
Jeśli jeszcze nie wysłałeś wersji 39-45 w inne miejsce, możesz zachować ich prywatność. To bardzo proste: hg clone --rev 38 foo foo-38otrzymasz nowy lokalny klon, który zawiera tylko wersję 38. Możesz kontynuować pracę foo-38i wypychać nowe (dobre) zestawy zmian, które tworzysz. Nadal będziesz mieć stare (złe) wersje w swoim fooklonie. (Możesz zmienić nazwę klonów w dowolny sposób, np. fooNa foo-badi foo-38na foo.)
Na koniec możesz także użyć, hg revert --all --rev 38a następnie zatwierdzić. Spowoduje to utworzenie wersji 46, która wygląda identycznie jak wersja 38. Następnie będziesz kontynuować pracę od wersji 46. To nie stworzy rozwidlenia w historii w taki sam wyraźny sposób, jak to hg updatezrobiono, ale z drugiej strony nie będziesz narzekać na to, że masz wiele głów. Przydałby mi się, hg revertgdybym współpracował z innymi, którzy już stworzyli własną pracę na podstawie wersji 45. W przeciwnym razie hg updatejest bardziej wyraźna.