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 ...”.


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.


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ł:”


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.


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.


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.