10 Minutowy Przewodnik Po Podstawach GITa #6 – Praca Na Gałęziach
Nim zaczniemy omawiać polecenia przydatne przy obsłudze gałęzi (BRANCHy) to zapoznajmy się z tym terminem.
BRANCH
Wszystkie zmiany zapisywane są w repozytorium w postaci tzw. snapshotów. Taki snapshot posiada swój własny identyfikator (hash zmiany), a tworzony jest w następstwie polecenia git commit
. BRANCH to nic innego jak wskaźnik do takiego snapshota.
W naszym projekcie istnieje już branch i od początku chętnie z niego korzystaliśmy, mimo, że nic o nim nie wspominałem. Była to gałąź główna (master) i to na nim ćwiczyliśmy zmiany.
Pamiętasz fragment z odłączoną głową (HEAD) we wcześniejszym wpisie? HEAD to nic innego jak znacznik, który wskazuje, na którym branchu pracujemy. Dodajmy nową gałąź o nazwie dev poleceniem git branch dev
. Samym poleceniem git branch
jesteśmy w stanie podglądnąć jakie gałęzie mamy utworzone.
CHECKOUT
Przełączmy się na nowo utworzony branch poleceniem git checkout dev
i sprawdźmy co zawiera.
A no proszę co za niespodzianka. To samo co gałąź główna – jak już wspomniałem znacznik HEAD jest tylko wskaźnikiem, więc poleceniem git checkout
nie tworzymy kopii całego repozytorium, a tylko zmieniamy wskazanie znacznika.
Zmieńmy co nieco w naszym pliku hello.sql i zapiszmy zmiany. Z otrzymanych informacji wynika, że zmiany były nanoszone w gałęzi dev i o to nam właśnie chodziło.
MERGE
To koniec naszych zmian. Zrobiliśmy kawał świetnej roboty i chcemy ją dodać do gałęzi głównej (master). Potrzebujemy przepiąć się na gałąź główną poleceniem git checkout master
i złączyć z dev
poleceniem git merge dev
. Po tych poleceniach nasze repozytorium powinno wyglądać właśnie tak:
Zwróć uwagę na informację o gałęziach. To co wcześniej było rozproszone na dwóch zostało scalone w jedno. Dla porządku usuńmy branch dev poleceniem git branch -D dev
I to na tyle w tej części programu. Dowiedzieliśmy się czym jest branch, jak go tworzyć, usuwać, jak przełączać się między branchami i jak je mergować z głównym masterem.
Szymon