Jak stworzyć nową gałąź Git jak profesjonalista

Rozgałęzianie to podstawowa funkcja w Git. W ten sposób możesz pracować nad określoną funkcją lub komponentem oprogramowania bez łamania kodu.

Jest to okazja dla Ciebie jako programisty do wprowadzenia znaczących zmian w kodzie źródłowym i wybrania, co chcesz zrobić ze zmianami. Tak czy inaczej, możesz je scalić lub odrzucić z całego projektu.

Jeśli miałeś do czynienia z Gitem, być może zauważyłeś już, że istnieje wiele sposobów tworzenia rozgałęzień. Jeśli jesteś początkującym programistą i nie miałeś jeszcze styczności z Git, wiedza o tym, jak korzystać z narzędzi do kontroli wersji, pozwoli Ci zaoszczędzić sporo czasu; jeśli nie, spraw, aby Twoje doświadczenie programistyczne było interesujące.

Ten post jest ukierunkowany taktycznie, aby pomóc Ci płynnie tworzyć gałęzie Git w ramach zdefiniowanego przepływu pracy. Ostatecznie zdobędziesz solidne umiejętności, których możesz użyć do utrzymania swoich repozytoriów GitHub.

Uwaga: jeśli jesteś nowym programistą, zanim przejdziesz dalej, sprawdź, jak skonfigurować konto GitHub. Jeśli już to zrobiłeś, przejdź do sekcji z instrukcjami. Jednak odświeżenie byłoby świetne, aby utrwalić swoją naukę.

Czym są gałęzie Git?

Źródło: atlassian.com

Gałąź w Git implikuje wersję twojego repozytorium, która różni się od twojego głównego projektu (dostępna we wszystkich nowoczesnych systemach kontroli wersji). Mówiąc najprościej, odchodzisz od głównej linii rozwoju i pracujesz bez ingerowania w pierwotną linię.

Wiele dostępnych narzędzi oprogramowania do kontroli wersji (VCS) wykorzystuje tę technikę, która polega na utworzeniu nowej kopii katalogu z kodem źródłowym. W przypadku większych projektów replikacja kodu źródłowego może zająć trochę czasu. Z drugiej strony jest to Twoja szansa na eksperymentowanie ze zmianami w kodzie.

Model rozgałęzień Git jest uważany za „zabójczą funkcję” i plasuje Git na swoim własnym poziomie wśród innych narzędzi w społeczności VCS. Model operacji Git jest prosty i sprawia, że ​​operacje rozgałęziania są niemal natychmiastowe, a także przełączanie się przez kilka z nich. Jeśli opanujesz model rozgałęzień Git, odblokujesz potężne funkcje i narzędzia, które mogą zwiększyć twoje umiejętności programistyczne. Więc jak to jest z gałęziami?

Dlaczego potrzebujesz gałęzi Git

Gałęzie Git odgrywają kluczową rolę w systemie kontroli wersji Git. Oto kilka powodów, dla których potrzebujesz gałęzi Git:

✅ Rozwój równoległy — nowoczesne oprogramowanie jest złożone, a wielu programistów często współpracuje ze sobą, aby je zbudować. Gałęzie umożliwiają różnym programistom pracę nad różnymi funkcjami. W innych przypadkach może to być naprawianie błędów bez kolizji pracy. Każda gałąź jest bramą do nowej linii rozwoju. Możesz łatwo przełączać się między gałęziami podczas pracy nad poszczególnymi funkcjami.

✅ Współpraca – gałęzie Git umożliwiają współpracę z innymi programistami na wspólnej bazie kodu. Możesz tworzyć nowe gałęzie, wprowadzać zmiany w kodzie i przesyłać je do współdzielonego repozytorium, gdzie inni programiści mogą przeglądać Twoje wkłady przed scaleniem ich z główną gałęzią.

✅ Eksperymentowanie – Możesz używać gałęzi git do testowania nowych funkcji przed połączeniem z główną gałęzią i bez wpływu na nią. To Twoja szansa na wypróbowanie nowego podejścia do rozwiązania problemu. A jeśli nowe metody w twoim kodzie działają poprawnie, możesz je scalić z główną gałęzią.

✅ Zarządzanie wydaniami – możesz używać oddziałów do zarządzania wydaniami. Możesz utworzyć każdą gałąź powiązaną z konkretną wersją w swoim roboczym projekcie. Pozwala to na naprawianie błędów i wprowadzanie zmian bez wpływu na główną gałąź programistyczną.

✅ Wersjonowanie – Możesz użyć gałęzi Git do wersjonowania; w takim przypadku każda gałąź będzie reprezentować nową wersję twojego oprogramowania. Jako programista najlepiej jest używać oddziałów dla każdej wersji oprogramowania i śledzić zmiany, których używasz do zarządzania różnymi wersjami bazy kodu.

Pierwsze kroki z Git — odświeżenie

Teraz, gdy rozumiesz „dlaczego”, nadszedł czas, aby wziąć nową zmianę i zająć się „jak”.

Idąc dalej, powinieneś już skonfigurować swoje konto GitHub. Jeśli nadal potrzebujesz, zrób to. Ta sekcja jest praktyczna.

Polecenie git checkout w Git pociąga za sobą przełączanie między różnymi wersjami encji docelowej. W niektórych internetowych społecznościach programistów termin „checking out” odnosi się do wykonania polecenia checkout. To polecenie działa na trzech jednostkach; gałęzie, pliki i zatwierdzenia.

Sprawdzanie oddziału

Możesz użyć polecenia git branch, aby utworzyć gałęzie, po których będziesz nawigować za pomocą git checkout. Kiedy wyewidencjonujesz gałąź, aktualizujesz pliki w swoim katalogu roboczym, aby były zgodne z przechowywaną tam wersją.

Innymi słowy, mówisz Gitowi, aby rejestrował wszystkie twoje zatwierdzenia w gałęzi (zmiana linii rozwoju). Używanie dedykowanych gałęzi dla nowych funkcji w twoim rozwoju jest odejściem od starego przepływu pracy Subversion (SVN) i ułatwia pracę z kodem we wszystkich przypadkach wyróżnionych w sekcji Dlaczego potrzebujesz gałęzi.

Komendy git checkout nie należy mylić z git clone. Pierwszy służy do przełączania się między wersjami kodu, podczas gdy drugi pobiera kod ze zdalnego repozytorium.

Korzystanie z istniejących oddziałów

Jeśli repozytorium, nad którym pracujesz, ma istniejące gałęzie, możesz je zwizualizować w interfejsie wiersza poleceń, używając polecenia git branch.

Dostępne gałęzie są wymienione, a zielony to ten, nad którym aktualnie pracujesz, zakładając, że używasz systemu operacyjnego Windows i Visual Studio Code. Aby przełączać się między gałęziami, użyj git checkout branchname. Wyrażenie „nazwa oddziału” oznacza nazwę oddziału, aw swoich operacjach możesz stosować dowolną konwencję nazewnictwa.

Tworzenie gałęzi Git

Załóżmy, że jesteś w trakcie tworzenia oprogramowania i chcesz dodać nową funkcję. Najlepszym sposobem podejścia do tego jest utworzenie nowej gałęzi przy użyciu „git branch”.

Praktycznie to jest to, co wpisujesz w wierszu poleceń:

git branch branchname

Oznacza to, że utworzyłeś gałąź poza gałęzią główną/główną (w większości przypadków jest to miejsce, w którym uruchamiasz swój projekt na żywo). W tym przypadku nazwa Twojego nowego oddziału to „nazwa oddziału”.

Aby przejść do nowej gałęzi, użyj git checkout ; patrz poniżej:

git checkout branchname

Jeśli jesteś programistą, który tak jak ja lubi oszczędzać czas, możesz utworzyć gałąź i natychmiast się do niej przełączyć, używając „git checkout” z argumentem „-b”, po którym następuje nazwa gałęzi. Praktycznie mogłeś to zrobić, aby uzyskać podobne wyniki jak w naszych poprzednich krokach, zobacz:

git checkout -b branchname

Parametr „-b” mówi Gitowi, aby uruchomił gałąź git tuż przed sprawdzeniem. Zobaczmy inne techniki, których możesz użyć do tworzenia gałęzi git.

Zbadajmy więcej technik, których możesz użyć do tworzenia oddziałów w oparciu o swoje potrzeby:

# 1. Tworzenie oddziału z bieżącego oddziału

Jeśli chcesz stworzyć nowy oddział w oparciu o obecny, najlepszą metodą jest wykorzystanie naszych nowo nabytych umiejętności:

git checkout -b <branchname>

Ta metoda automatycznie tworzy i przełącza cię do nowej gałęzi. Aby potwierdzić, że jesteś w nowym oddziale, Twój terminal powinien wyświetlić komunikat – przełączono do nowego oddziału „nazwa oddziału”.

Jeśli jesteś nowym programistą, powinieneś chcieć wprowadzać polecenia na konsoli bez nawiasu klamrowego (<>). Są one niezbędne do ilustracji i wyjaśnień i nie należy ich mylić ani niewłaściwie używać.

#2. Tworzenie oddziału z innego oddziału

Możesz utworzyć nowy oddział w oparciu o inny istniejący oddział, dodając nazwę tego oddziału jako punkt początkowy. Oto polecenie:

git branch <new branch> <base branch> 

A w praktycznym przypadku byłoby to:

git branch new-branch branchname

Oznacza to, że „nowy oddział” to nasz nowy oddział, a „nazwa oddziału” to nasza podstawowa (podstawowa) gałąź.

#3. Tworzenie gałęzi z zatwierdzenia

Jeśli chcesz oprzeć swoją nową gałąź na zatwierdzeniu (a nie na gałęzi), musisz podać skrót zatwierdzenia jako punkt wyjścia. Aby znaleźć skrót zatwierdzenia, który tworzysz w gałęzi, uruchom git log .

Hash zatwierdzenia to zazwyczaj długi ciąg znaków zaczynający się od „zatwierdzenia”. Za pomocą skrótu zatwierdzenia możesz go utworzyć, uruchamiając polecenie:

 git branch <branch name> <commit-hash>

Następnie możesz przełączyć się do nowego oddziału, sprawdzając go.

#4. Tworzenie gałęzi ze znacznika

Aby utworzyć gałąź z określonego tagu, znajdź nazwę tagu, z której chcesz utworzyć gałąź. Uruchom polecenie git tag, aby wyświetlić listę wszystkich dostępnych tagów w swoim repozytorium.

Po zidentyfikowaniu nazwy tagu uruchom git branch , po czym możesz przełączyć się do nowej gałęzi i zacząć wprowadzać zmiany w kodzie.

#5. Tworzenie gałęzi przy użyciu odłączonego stanu HEAD

Możesz użyć odłączonego stanu HEAD, aby utworzyć nowe gałęzie, które zaczynają się od określonego zatwierdzenia bez natychmiastowego przełączania się do tej gałęzi. Ta technika jest przydatna, gdy chcesz eksperymentować z nowymi zmianami bez wpływu na gałąź, nad którą pracujesz. Zacznij od znalezienia skrótu zatwierdzenia, który chcesz utworzyć w gałęzi – użyj dziennika git.

Z hashem zatwierdzenia uruchom: git checkout . To polecenie sugeruje, że jesteś w odłączonym stanie HEAD, co oznacza, że ​​nie jesteś obecnie w gałęzi, ale wskazujesz na określone zatwierdzenie. Następnie możesz użyć git branch , aby utworzyć gałąź na podstawie bieżącego zatwierdzenia.

#6. Utwórz oddział z oddziału zdalnego

Rozpocznij od utworzenia oddziału lokalnego. Do tej pory powinieneś być dobry w używaniu: git checkout -b . Zdalna gałąź jest tworzona automatycznie, gdy przekazujesz lokalnie utworzoną gałąź do zdalnego repozytorium.

Wypychasz gałąź do zdalnego przez: git push origin W tym poleceniu 'origin’ oznacza zdalne repozytorium, do którego wprowadzasz zmiany i tworzysz gałęzie. Możesz go zastąpić nazwą swojego zdalnego repozytorium; działa doskonale.

#7. Tworzenie oddziału w zdalnym repozytorium

Aby utworzyć gałąź w zdalnym repozytorium, pobierz najnowsze zmiany ze zdalnego repozytorium, uruchamiając polecenie git fetch. Po pobraniu najnowszych aktualizacji możesz utworzyć nowy oddział, sprawdzając go. A po wyewidencjonowaniu możesz wypchnąć nowe zmiany, wykonując następujące czynności:

git push -u <remote repo> <new branch name>

W swoich operacjach najlepiej byłoby użyć Origin (tak jak w przypadku tworzenia oddziału ze zdalnego oddziału). Oszczędza to czas i zmniejsza ryzyko błędu podczas wpisywania nazw zdalnych repozytoriów.

Interfejs online GitHub

Wszystkie zadania wykonywane w wierszu poleceń można replikować za pomocą interfejsu wiersza poleceń. Aby utworzyć nową gałąź, przejdź do strony repozytorium projektu i sprawdź gałęzie w lewym górnym rogu — często master/main.

Jeśli go klikniesz, poniżej pojawi się lista dostępnych oddziałów, pole tekstowe, którego możesz użyć do znalezienia lub utworzenia oddziału.

Aby utworzyć oddział, wpisz jego nazwę w polu tekstowym. Interfejs online jest zautomatyzowany i umożliwia tworzenie rozgałęzień z określonych elementów, takich jak znaczniki, rozgałęzienia i zatwierdzenia. A jeśli jesteś nowicjuszem w rozgałęzianiu, przejrzenie dokumentacji gałęzi GitHub może zaoszczędzić kłopotów w przyszłych przedsięwzięciach deweloperskich.

Ostatnie słowa

Nauczywszy się kilku technik tworzenia gałęzi Git, możesz teraz włączyć swoje nowo nabyte umiejętności do tworzenia oprogramowania z płynnym przepływem pracy Git.

Najlepsza opcja rozgałęziania będzie w dużej mierze zależeć od Twojego zespołu: kryteriów przepływu pracy i instancji zdarzeń. Na przykład, jeśli poprosisz współpracownika o wkład, może on zdalnie tworzyć oddziały i wnosić nieoceniony wkład.

Widziałeś, jak rozgałęzienia Git zapewniają potężny mechanizm do bardziej efektywnej i wydajnej pracy nad projektami oprogramowania. I chociaż istnieją inne opcje kontroli Git, ten post pokazał ci, jak poruszać się po gałęziach Git w wierszu poleceń, a ja sprawię, że poczujesz się pewniej, używając Git.

Po ugruntowaniu swojej sztuki tworzenia oddziałów z większym entuzjazmem zapoznasz się z naszym przewodnikiem dotyczącym usuwania oddziałów GitHub.