2009-07-20 20 views

Odpowiedz

57
hg update -r<REV> 

Komenda update przełączy się na określoną wersję.

+20

Tylko uwaga: jeśli używać nazwanych (wewnętrzne), możesz przełączyć się na nazwę oddziału z opcją -r również: 'hg update -r ' – quark

+2

Myślę, że to musi być aktualizacja hg -C , nie -r. Jak @Danmar mówi w swojej odpowiedzi, przydatne są również gałęzie hg i polecenia gałęzi hg. – andybuckley

+0

Początkujący błąd, upewnij się, że wykonałeś najpierw hg pull (tak, że masz lokalną gałąź, aby się przełączyć) –

33

Komenda przełącznik robi dwie rzeczy w Subversion:

  1. aktualizacji kopii Roboczej w celu odzwierciedlenia nowego adresu URL w repozytorium. To zachowanie jest podobne do "svn update" i jest sposobem, aby przenieść kopię roboczą do gałęzi lub znacznika w tym samym repozytorium.

  2. Przepisz metadane adresu URL kopii roboczej, aby odzwierciedlić tylko zmianę syntaktyczną. Jest to używane, gdy zmienia się główny adres URL repozytorium (na przykład schemat lub zmiana nazwy hosta), ale kopia robocza nadal odzwierciedla ten sam katalog w tym samym repozytorium.

Komenda hg update foo mecze były najściślej po przełączeniu z, powiedzmy, /trunk do /branches/foo w Subversion.

Jeśli chcesz zrobić to drugie, po prostu edytuj .hg/hgrc. Znajdziesz sekcję [paths], który wygląda tak:

 
[paths] 
default = http://example.net/something 

i można zmienić to domyślne Push/pull URL do czegoś innego, jak widać pasuje. Możesz również dodać inne wpisy do tej sekcji, jeśli często musisz naciskać/wyciągać z innych lokalizacji. Jeśli chcesz pobrać z jednego miejsca, ale przejść do innego, dodaj wpis default-push.

0

Alternatywna odpowiedź, w przypadku "oddziału" oznacza "inny klon repo, który mieszka w dowolnej lokalizacji w sieci": nie można.

Innymi słowy, biorąc pod uwagę repo na hg.a.com i klonem tego repo hg.b.com, nie ma polecenia jak

hg switch hg.b.com . 

(przy użyciu svn żargon tam, zakładając, że katalog bieżący jest katalogiem głównym hg.a.com).

Można jednak sklonować hg.a.com, lokalnie sklonować ten klon (który powinien być stosunkowo niedrogi), a następnie pobrać z witryny hg.b.com, aby uzyskać dodatkowe zmiany, które mogą tam mieszkać.

+0

Ułatwiam dodanie kolejnej ścieżki do sekcji '[paths]' w '.hg/hgrc' plik lub po prostu zmień domyślną ścieżkę tam wymienioną. Zobacz 'hg help paths', aby uzyskać więcej informacji. –

23

I chcesz przełączyć oddziałów, wykonaj następujące czynności:

Najpierw należy sprawdzić jakie są dostępne gałęzie, typ hg branches. Spowoduje to wyświetlenie wszystkich dostępnych oddziałów.

Następnie określ, w którym oddziale obecnie pracujesz, wpisz hg branch. Dzięki temu dowiesz się, jaka jest twoja obecna gałąź.

Wreszcie, aby przełączyć gałąź (i wyczyścić wszystkie lokalne zmiany), wpisz hg update -C name-of-branch. Spowoduje to przejście do określonej nazwy oddziału.

Potwierdź ponownie, wpisując hg branch.

+2

Uwaga, nawet jeśli wykluczysz opcję -C-clean, wszelkie lokalne, niezatwierdzone zmiany zostaną usunięte podczas wykonywania tej czynności. Jeśli chcesz zachować niezatwierdzone zmiany, odłóż je najpierw: o) –

1

Aby przejść do zdalnego oddział 'końcówką':

hg pull -u <remote_branch> 

Dla lokalnego oddziału (już up-to-date) po prostu:

hg update -r <local_branch> 
Powiązane problemy