Podstawy łączenia i usuwania gałęzi

Podstawy łączenia i usuwania gałęzi
Rozgałęzienie może pomóc w uporządkowaniu pracy. Musisz jednak być w stanie połączyć swoją pracę, aby praca była spójna. Jeśli nigdy nie łączysz się i nie usuniesz gałęzi, twoja historia może stać się zbyt chaotyczna, aby zrozumieć.

Praca z połączeniem i usuwaniem oddziału

Najpierw utwórzmy gałąź główną, umieść kilka zatwierdzeń, utwórz nowy oddział o nazwie Funkcje, dodaj kilka zatrudnionych, a następnie wróć do Mistrza i ponownie zatwierdź. Oto polecenia:

$ mkdir mygame
$ cd mygame
$ git init
$ echo „Decyzja o projekcie 1: mózg” >> projektowanie.tekst
$ git add -a
$ git commit -m "c0: uruchomiono projekt"
$ echo „Decyzja o projekcie 2: Write Code” >> Projektowanie.tekst
$ git add -a
$ git commit -m "c1: przesłany kod"
Funkcje oddziału $ git
$ git Funkcje kasy
$ echo „Dodaj funkcję 1” >> Funkcja.tekst
$ git add -a
$ git commit -m "c2: funkcja 1"
$ echo „Dodaj funkcję 2” >> Funkcja.tekst
$ git add -a
$ git commit -m "c3: funkcja 2"
$ git kectout Master
$ echo „modyfikujący mistrz ponownie” >> projekt.tekst
$ git add -a
$ git commit -m "c4: master modyfikowany"

Powyższe polecenia stworzyły następującą sytuację:

Możesz sprawdzić historię dwóch gałęzi, aby zobaczyć, jakie mają one popełniają:

Status $ git
Na mistrzu oddziału
Nic do popełnienia, działający katalog czysty
$ git log -linia
2031B83 C4: Master Modified
1C0B64C C1: Przesłany kod
$ git Funkcje kasy
Przełączono na „funkcje” gałęzi
$ git log -linia
93D220B C3: Funkcja 2
AD6DDB9 C2: Funkcja 1
1C0B64C C1: Przesłany kod
EC0FB48 C0: Rozpoczął projekt

Załóżmy teraz, że chcesz wprowadzić wszystkie zmiany z gałęzi funkcji do naszej gałęzi głównej. Będziesz musiał rozpocząć proces od miejsca docelowego scalania. Ponieważ chcemy połączyć się w gałąź główną, musisz zainicjować proces stamtąd. Sprawdźmy więc gałąź główną:

$ git kectout Master
Przełączony na „mistrz” oddziału
Status $ git
Na mistrzu oddziału
Nic do popełnienia, działający katalog czysty

Teraz stwórzmy scalanie:

$ git scal funkcje

Jeśli w scaleniu nie ma konfliktów, otworzysz edytor tekstu z komentarzami:

Scalaj „funkcje”
# Wprowadź wiadomość o zatwierdzeniu, aby wyjaśnić, dlaczego to scalanie jest konieczne,
# Zwłaszcza jeśli łączy zaktualizowany Upstream w oddział tematyczny.
#
# Wiersze zaczynające się na „#” zostaną zignorowane, a puste wiadomość przerywa
# zatwierdzenie.

Możesz zmodyfikować komentarze lub zaakceptować te domyślne. Dane wyjściowe scalania powinny pokazać takie wyniki:

Scalone przez strategię „rekurencyjną”.
funkcja.txt | 2 ++
1 Zmieniony plik, 2 wstawki (+)
Utwórz funkcję trybu 100644.tekst

Po połączeniu masz następujący warunek:

Jeśli sprawdzisz dzienniki, znajdziesz:

Status $ git
Na mistrzu oddziału
Nic do popełnienia, działający katalog czysty
$ git log -linia
46539a3 C5: Scal gałąź „funkcje”
2031B83 C4: Master Modified
93D220B C3: Funkcja 2
AD6DDB9 C2: Funkcja 1
1C0B64C C1: Przesłany kod
EC0FB48 C0: Rozpoczął projekt

Pomyślnie połączyłeś zmiany. Jednak gałąź funkcji jest nadal obecna.

$ git oddział -a
cechy
* gospodarz

Możesz go usunąć za pomocą następującego polecenia:

$ git oddział -d funkcje

Jeśli sprawdzisz teraz, powinieneś zobaczyć tylko gałąź główną:

$ git oddział -a
* gospodarz

Wniosek

Upewnij się, że regularnie sprawdzasz nieużywane gałęzie i usuń je. Chcesz utrzymać swoje repozytorium w czystości, aby ułatwić nawigację i zrozumienie.

Dalsze czytanie:

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