Jak zrobić, co robi svn switch
w Mercurial?Jak "przełączać się" z Mercurial
To zmienia mój katalog roboczy, aby przełączyć się do innej gałęzi w repozytorium?
Jak zrobić, co robi svn switch
w Mercurial?Jak "przełączać się" z Mercurial
To zmienia mój katalog roboczy, aby przełączyć się do innej gałęzi w repozytorium?
hg update -r<REV>
Komenda update przełączy się na określoną wersję.
Komenda przełącznik robi dwie rzeczy w Subversion:
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.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
.
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ć.
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. –
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
.
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) –
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>
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
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
Początkujący błąd, upewnij się, że wykonałeś najpierw hg pull (tak, że masz lokalną gałąź, aby się przełączyć) –