Jak rozgałęziać się za pomocą TortoiseHG

218

Pobrałem TortoiseHg 1.0 do oceny. Przez całe życie nie mogę wymyślić, jak zrobić gałąź. Wygląda na to, że rozumie gałęzie (np. W przeglądarce repozytorium), ale po prostu nie mogę znaleźć sposobu na utworzenie gałęzi. Wydaje się to być tak fundamentalną funkcją, ponieważ wśród często reklamowanych zalet DVC jest lekka rozgałęzienie.

Przeszukiwałem Google i nie mogłem znaleźć dużo dyskusji na ten temat (przynajmniej dla najnowszych wersji), więc muszę założyć, że coś przeoczyłem, prawda?

Aktualizacja: Więc oznaczyłem odpowiedź Chada Bircha poniżej, aby odpowiedzieć na problem „nowej gałęzi”. Jak słusznie zauważa, dokonujesz zatwierdzenia, a następnie kliknij przycisk gałęzi, aby wyświetlić okno dialogowe konserwacji gałęzi, w którym tworzysz nowe gałęzie. Chciałbym, żeby dali nam do tego opcję menu kontekstowego. Po rozgałęzieniu następnym naturalnym pytaniem jest, jak się połączyć, i to również nie jest oczywiste. Okazuje się, że opcja jest zakopana w eksploratorze repozytoriów. Musisz wybrać nagłówek innej gałęzi, kliknąć prawym przyciskiem myszy, a następnie wybrać „Scal z ...”.

Michael Tiller
źródło
Rozgałęzienie jest poważnie zakopane w całkowicie nieintuicyjnym aspekcie przepływu pracy. Rozgałęzianie i zatwierdzanie to dwie bardzo różne operacje i nie ma sensu zakopywać rozgałęzień głęboko w interfejsie zatwierdzania. Ponieważ zwykle zatwierdzam przed rozgałęzieniem, nie przyszło mi do głowy, aby przejrzeć interfejs użytkownika zatwierdzenia. Rozgałęzienie jest nadal skutecznie nieudokumentowane, nawet od połowy 2016 r . ; Chad Birch wskazuje, co przechodzi do dokumentacji rozgałęziającej; wciąż jest okropny, ale jak zauważa, jest tylko posłańcem ...
arclight

Odpowiedzi:

213

Jak pokazano w dokumentacji , wystarczy, że klikniesz branch: defaultprzycisk w górnej części okna dialogowego zatwierdzenia i zmienisz nazwę nowej gałęzi.

Chad Birch
źródło
30
Ach, widzę, gdzie jest napisane: „naciśnięcie tego przycisku otwiera okno dialogowe konserwacji oddziału”. To rzeczywiście otwiera okno dialogowe, które, jak się okazuje, umożliwia tworzenie oddziałów, ale nie zgadzam się ze stwierdzeniem „Jak pokazano w dokumentacji”, ponieważ nie ma wyraźnej wzmianki o tym, jak utworzyć gałąź w dowolnym miejscu na tej stronie, która Mógłbym znaleźć. Zastanawiam się, co rozgałęzienie zrobiło, aby zasłużyć na leczenie drugiej klasy w TortoiseHg (w porównaniu z innymi narzędziami Tortoise *, w których jest to pierwsza opcja menu kontekstowego). :-)
Michael Tiller
31
Och, nie próbowałem obrażać się w „RTFM” ani nic w tym rodzaju, po prostu potrzebowałem jakiegoś wyrażenia, aby połączyć się z odpowiednią stroną. Być może „jak niejasno sugerowano w dokumentach” byłoby bardziej odpowiednie w tej sytuacji.
Chad Birch
1
Bez potu Nie chciałem też obrażać. Chciałem tylko wyjaśnić każdemu, kto pojawił się, aby spojrzeć na ten link, który naprawdę musisz przeczytać między wierszami w dokumentach, aby uzyskać odpowiedź, ponieważ nie jest to wyraźnie wymienione.
Michael Tiller
8
W najnowszych wersjach Mercurial musisz zrobić, hg push --new-branchaby wypchnąć nowy oddział do zdalnego repozytorium. Zobacz stackoverflow.com/questions/2365483, aby dowiedzieć się, jak to zrobić w TortoiseHg.
Peter Graham
26

Aby rozpocząć nowy oddział za pomocą TortoiseHg, naciśnij Zatwierdź ... następnie powyżej Zatwierdź wiadomość naciśnij Oddział, a następnie „Otwórz nowy nazwany oddział:”

nme
źródło
9

Chciałem tylko dodać, że w celu wypchnięcia nowej gałęzi do zdalnego repozytorium znajduje się pole wyboru na zakładce Synchronizuj w Opcje „Zezwól na wypchnięcie nowej gałęzi” - musisz pamiętać, aby wyłączyć ją zaraz potem.

TamW
źródło
8

Przez większość czasu w Mercurial clonerepozytorium tworzy się gałąź.

Następnie możesz scalić oddzielne repozytoria po dokonaniu edycji i zatwierdzeniu.

Może to zabrzmieć tak, jakby zajmowało dużo miejsca na dysku, ale w większości systemów operacyjnych mercurial utworzy dowiązania twarde zamiast kopiować pliki. W każdym razie miejsce na dysku jest zwykle tanie, a ponieważ jest lokalne, jest dość szybkie.

Jeśli się nad tym zastanowić, każde „pobranie” (w terminologii svn) lub „klon” (w terminologii rtęciowej) to tak naprawdę gałąź, która prawdopodobnie zostanie scalona z powrotem, więc ma sens, że klonowanie jest powszechnym sposobem tworzenia gałęzi.

blokeley
źródło
11
Nie jest to wygodne dla gałęzi funkcji.
Wieża
Zgoda. Jeśli masz długo działające (półtrwałe) gałęzie, takie jak gałąź stabilna w wersji 1 i gałąź stabilna w wersji 2, będziesz chciał użyć nazwanych gałęzi . Zobacz także dokumentację oddziału rtęci .
blokeley
11
-1. To w najlepszym razie hack. Klonowanie dla rozgałęzień wcale nie działa, jeśli śledzisz zdalne repozytorium, ponieważ nie możesz wypchnąć lokalnych zmian. Oznacza to, że nie możesz udostępniać swojego oddziału innym programistom, z którymi współpracujesz. Prawidłowym sposobem rozgałęzienia jest utworzenie nazwanego oddziału w repozytorium.
Peter Graham
8
Klonowanie jest nadal sposobem, w jaki oficjalna rtęciowa książka zaleca gałęzie „dużego zdjęcia” hgbook.red-bean.com/read/… Nie strzelaj do posłańca.
blokeley
0

Przed zatwierdzeniem kliknij przycisk Oddział (patrz zdjęcie), a następnie wybierz gałąź lub utwórz nową (wpisując miejsce wyboru gałęzi).

Zobacz zdjęcie tutaj

Felipe Dias
źródło