Kilka słów na początek.
Duże projekty, które wykonywane są w grupach mogą być rozwijane w wielu kierunkach jednocześnie. Taki charakter pracy ma to do siebie, że bez sprawnego zarządzania szybko możemy wpaść w chaos, przez co stracimy niepotrzebnie dużo cennego czasu. Program Git wyposażony jest w funkcje wspierające prowadzenie prac nad rozgałęzionymi projektami. Dzięki zastosowaniu Git’a zwiększymy wygodę pracy, zarządzenie projektami stanie się łatwiejsze, a złożenie projektu w jedną całość przy zachowaniu kilku zasad nie powinno sprawić większego problemu.
Zakres artykułu.
- Tworzenie i przełączanie gałęzi
Tworzenie i przełączanie gałęzi
Nową gałąź tworzymy poleceniem:
git branch nazwa_gałęzi
W tym miejscu warto zwrócić uwagę na symbol * znajdujący się przy gałęzi o nazwie master. Znak ten oznacza, że dana gałąź jest gałęzią bieżącą. Oznacza to, że kolejna rewizja będzie przyłączona do tej gałęzi.
Wypisanie wszystkich gałęzi realizujemy poleceniem
git branch
Utworzenie gałęzi do wybranej rewizji realizujemy poleceniem:
git branch nazwa_gałęzi SHA-1
Jeżeli chcemy przełączyć gałąź bieżącą do tego celu należy użyć polecenia:
git checkout nazwa_gałęzi
Polecenie to nie tylko przełączy bieżącą gałąź, ale również przywróci wszystkie pliki projektu z rewizji przy tej gałęzi. We wpisie Prosty model pracy spotkaliśmy się już z poleceniem git checkout tylko wtedy w dalszej części polecenia wpisywaliśmy sumę kontrolną SHA-1. Taka konfiguracja polecenia skutkuje tym, że odłączamy się od bieżącej gałęzi i znajdujemy się w przypadku nazywanym (detached HEAD) co oznacza, że nie mamy bieżącej gałęzi. Wykonywanie rewizji w tej sytuacji jest niezalecane ponieważ możemy utracić dane, ze względu na utrudnioną procedurę przywracania rewizji spoza gałęzi.
W repozytorium surowym gałęzie przełączony poleceniem:
git symbolic-ref HEAD refs/heads/nazwa_gałęzi
Jednoczesne tworzenie i przełączanie gałęzi realizujemy poleceniem:
git checkout -b nazwa_gałęzi
Jeśli chcemy stworzyć nową gałąź, przełączyć ją oraz wybrać inną rewizję dla nowej gałęzi to zrealizujemy to poleceniem:
git checkout -b nazwa_gałęzi SHA-1