Podstawy oddziałów Git

Podstawy oddziałów Git

Podstawy rozgałęzienia Git

Zdolność do łatwego rozgałęzienia jest jedną z najlepszych cech git. Tworzenie gałęzi w innych systemach kontroli wersji może być kosztowne pod względem wymagań dotyczących przestrzeni i przetwarzania. Git rozgałęzienie jest wydajne. Więc użytkownicy są bardziej podatni na gałęzie w git.

Rozgałęziony przepływ pracy

Załóżmy, że zacząłeś nowy projekt o nazwie MyVideogame. Ma jedną gałąź. Domyślna nazwa początkowej gałęzi w git nazywa się master. Jest to automatycznie tworzone. Utwórzmy repozytorium MyVideogame GIT.

$ mkdir myvideogame
$ CD myvideogame
$ git init

Utworzyłeś puste repozytorium GIT. Dodajmy nasz projekt.plik txt z pewnym tekstem.

$ echo „Decyzja o projekcie 1: Dodaj obrazy” >> Projektowanie.tekst
$ echo „Decyzja o projekcie 2: Write Code” >> Projektowanie.tekst
$ git add -a
$ git commit -m "c0: Dodano plik projektowy"

Dodajmy więcej zmian:

$ echo „Decyzja o projekcie 3: Test Game” >> Projektowanie.tekst
$ git add -a
$ git commit -m "c1: zmodyfikowany plik projektowy"

Jeśli sprawdzisz historię, znajdziesz:

$ git log -linia
6A09BD6 C1: Zmodyfikowany plik projektowy
5F18D89 C0: Dodano plik projektowy

Jeśli sprawdzisz status GIT i wszystkie utworzone gałęzie (za pomocą polecenia: git gałąź -a), zobaczysz:

Status $ git
Na mistrzu oddziału
Nic do popełnienia, działający katalog czysty
$ git oddział -a
* gospodarz

Obecnie masz następującą sytuację:

Zrobiłeś dwa zatwierdzenia w oddziale głównym.

Załóżmy, że w testach gry znalazłeś błędy, ale nie chcesz rozwiązać problemu w gałęzi głównej, ponieważ nie chcesz jeszcze zadzierać z oryginalnym projektem. Aby możesz utworzyć nową gałąź o nazwie Bugfix:

$ git oddział Bugfix

Teraz, jeśli sprawdzisz wszystkie gałęzie:

$ git oddział -a
naprawa błędów
* gospodarz

Teraz utworzyłeś nowy oddział o nazwie Bugfix. Sytuacja można wizualizować jako to:

Jednak gwiazda (*) obok gałęzi głównej oznacza, że ​​nadal jesteś w mistrzu. Jeśli wprowadzisz zmiany, nadal wejdzie do gałęzi głównej. Możesz użyć polecenia kasy, aby zmienić gałęzie:

$ git kectout Bugfix
Przełączono na „Bugfix” oddziału

Możesz sprawdzić, z której gałęzi używasz za pomocą statusu lub polecenia „gałąź”:

Status $ git
Na gałąźku
Nic do popełnienia, działający katalog czysty
$ git oddział -a
* naprawa błędów
gospodarz

Teraz naprawmy błąd:

$ echo „Bug Fix 1” >> Projektowanie.tekst
$ git add -a
$ git commit -m "c2: błąd naprawiony 1"

Stworzyłeś taką sytuację:

Master Oddział nie ma zmiany C2. Możesz to łatwo zweryfikować, sprawdzając historię dwóch gałęzi.

Po pierwsze, historia gałęzi Bugfix:

Status $ git
Na gałąźku
Nic do popełnienia, działający katalog czysty
$ git log -linia
E8F615B C2: Błąd naprawiony 1
6A09BD6 C1: Zmodyfikowany plik projektowy
5F18D89 C0: Dodano plik projektowy

Następnie możesz przejść do Master Branch i sprawdzić jego historię:

$ git kectout Master
Przełączony na „mistrz” oddziału
Status $ git
Na mistrzu oddziału
Nic do popełnienia, działający katalog czysty
$ git log -linia
6A09BD6 C1: Zmodyfikowany plik projektowy
5F18D89 C0: Dodano plik projektowy

Możesz zobaczyć, jak gałąź główną nie ma zmian w oddziale Bugfix.

Zawsze możesz utworzyć nową gałąź z obecnej gałęzi, w której się znajdujesz. Załóżmy, że chcesz stworzyć inną gałąź, która będzie zawierać funkcje eksperymentalne. Możesz utworzyć gałąź z Master i dodać do niej funkcje eksperymentalne:

Status $ git
Na mistrzu oddziału
Nic do popełnienia, działający katalog czysty
$ git oddział eksperymentalny
$ git kas experimental
Przełączony na gałąź „eksperymentalną”
Status $ git
Na oddziałach eksperymentalnych
Nic do popełnienia, działający katalog czysty
$ echo „Dodawanie funkcji eksperymentu” >> projekt.tekst
$ git add -a
$ git commit -m "c3: Dodano funkcje eksperymentalne"
[Eksperymentalny 637BC20] C3: Dodano cechy eksperymentalne
1 Zmieniony plik, 1 wstawienie (+)

Jeśli sprawdzisz historię swojej oddziału eksperymentalnego, zobaczysz:

Status $ git
Na oddziałach eksperymentalnych
Nic do popełnienia, działający katalog czysty
$ git log -linia
637BC20 C3: Dodano cechy eksperymentalne
6A09BD6 C1: Zmodyfikowany plik projektowy
5F18D89 C0: Dodano plik projektowy

Zauważysz, że nie masz zatwierdzenia C2, który został utworzony w oddziale Bugfix. Ponieważ oddział eksperymentalny jest tworzony z Master Branch, nie widzi zmian Bugfix. Masz następującą sytuację:

Wniosek

Gratulacje! Nauczyłeś się rozgałęzić.

Gałęzie git są łatwe i szybkie do wykonania. To jeden z powodów popularności Git. Jeśli chcesz zostać biegłym użytkownikiem GIT, musisz stać się biegły w rozgałęzieniu git.

Dalsze badanie:

https: // git-scm.com/book/en/v2/git branching-basic Banching and Merging