Instrukcja nr 3 (nowe branche)
3️⃣

Instrukcja nr 3 (nowe branche)

 
Aby rozpocząć zabawę w tej sekcji zalecam Ci wcześniejsze zapoznanie się z:
 

I. Tworzenie nowego brancha


Całą zabawę zaczniemy od tego samego repozytorium wewnętrzego, które stworzyliśmy w naszej
1️⃣
Instrukcja nr 1 (wewnętrzne repo)
, /gitTest/
Jak dobrze pamiętasz, naszym folderze na pulpicie o nazwie /gitTest/ utworzyliśmy repozytorium wewnętrzne używając komendy git init. Aby rozpocząć zabawę z nowymi branchami musimy przejść zatem poniższy schemat:
  1. Otwieramy konsolę Git Bash na katalogu /gitTest/. W tym katalogu mieści się również kolejny folder o takiej samej nazwie (/gitTest/), który był naszym repozytorium wewnętrznym. Używając komendy cd gitTest wskakujemy do tego wewnętrzengo folderu /gitTest/ . W tym momencie możemy sprawdzić sobie zawartość folderu używając komendy ls -la
    1. Jak widzimy w katalogu znajduje się kilka plików, m.in plikTekstowy.txt oraz plik z rozszerzeniem .git świadczący o tym, że repozytorium zostału ustanowione w tym katalogu
  1. Teraz możemy sobie sprawdzić status naszego repo, np. czy mamy jakieś niezatwierdzone zmiany w danych. Wykorzystujemy zatem komendę git status. Git nie potrzebuje od nas żadnych commitów, więc ruszamy dalej!
notion image
  1. Tworzymy nowego branch, np. o nazwie branch01 korzystając z komendy git branch nazwaBrancha. b naszym przypadku będzie to git branch branch01
notion image
Aby upewnić się, że branch powstał, możemy zastosować komendę git branch, która pokazuje nam wszystkie branche jakie istnieją w repo. U nas są to:
  • master oznaczony gwiazdką (branch główny, tzw. origin)
  • branch01 (ten który stworzyliśmy)
notion image
  1. Aktualnie cały czas znajdujemy się i pracujemy na naszym głównym branchu master. Co zatem zrobić, aby przeskoczyć na nowy branch01, który stworzyliśmy? Użyjemy komendy git checkout nazwaBrancha, a mianowicie git checkout branch01.
notion image
Dostajemy od Gita info, że zostaliśmy przerzuceni na nasz docelony branch01. Aby to potwierdzić, stosujemy standardowo git status. Z resztą w nawiasie obok adresu naszego repozytorium jest nazwa brancha, na którym aktualnie się znajdujemy (branch01) 😛
🔥 Tutaj warto wspomnieć o komendzie git checkout -b nazwaBrancha. Polecam jej stosowanie, ponieważ oszczędza ona czas, a mianowicie powoduje stworzenie brancha i automatyczne przełączenie na niego (takie git branch + git checkout w jednym)
 

2. Tworzenie kolejnych branchów


Ok, mamy już główny branch master oraz nowy branch01, w którym aktualnie się znajdujemy. Teraz stworzymy sobie kolejny nowy branch02. Zrobimy to właśnie z poziomu branchu01.
notion image
  1. Używamy zatem komendy git checkot -b branch02, aby utworzyć nowy branch i przeskczyć na niego automatycznie. Następnie stworzymy sobie nowy plik tekstowy plikBranchowy.txt, wykorzystujac komendę touch.
notion image
  1. Teraz dodamy plik do śledzenia (git add plikBranchowy.txt) oraz wykonamy jego commit (git commit -m “Nowy plik do branch02”)
notion image
Komenda git status potwierdza, że zmiany zostały zatwierdzone!
  1. Nasze zmiany są już przygotowane do wypchnięcia na zewnętrze repozytorium, dlatego stosujemy komendę git push origin branch02.
notion image
notion image
Jak zobaczysz w prawym górnym rogu powyższego screena, na naszym repo zdalnym pojawił się nowy branch02, a w nim plikBranchowy.txt

3. Łączenie branchów


Tak, chodzi o słynny merge, czyli metodę łączenia branchy. Mówiąc dokładniej, mergowanie to zebranie wszystkich zmian do kupy i przetransferowanie do kolejnego brancha. W naszym przykładzie połączymy sobie:
  • branch02 branch01
  • branch01 → master
notion image
  1. Jesteśmy aktualnie na branchu02. Aby połączyć go z branch01 musimy przełączyć się na ten ostatni (ponieważ to właśnie do branch01 chcemy przetransferować nasze dane z branch02). Robimy to przez komendę git checkout branch01
  1. Teraz użyjemy komendy git merge branch02. Oznacza to, że pobraliśmy wszystkie dane z branch02 i dodaliśmy je do branch01 (branch02 →branch01)
notion image
  1. W momencie, kiedy wszystkie dane zostały już przetransferowane na branch01, logicznym posunięciem będzie usunięcie branch02 (no chyba, że chcesz coś jeszcze na tym branchu robić). Usunięcia dokonamy zarówno w naszym lokalnym repo na kompie, jaki i w zewnętrzym repo na serwerze Githuba. Możemy to zrobić w następujący sposób:
  • git branch -d branch02 → usuwa branch z lokalnego repozytorium
  • git push origin :branch02 → usuwa branch z zewnętrznego repozytorium
    • notion image
  • zwróć uwagę na dwókropek przed nazwą brancha!
notion image
Dla potwierdzenia widzimy na Githubie, że branch02 nie jest jest już dostępny
  1. Ok, teraz czas na kolejny megre. Tym razem przetrasferujemy dane z branch01 do master.
    1. Tak jak to robiliśmy wcześniej - musimy przeskoczyć na branch, do którego docelowo mają zostać przesłąne dane z branch01. Przenosimy się zatem na master używając komendy git checkout master
  1. Następnie używamy komendy git merge branch01, aby połączyć go z master. Teraz tradycyjnie wstukamy git status, dla potwierdzenia zmian. Wszystko gra!
notion image
  1. Ostatnim krokiem będzie zatem wypchnięcie zmian na repozytorium zewnętrzne poprzez komendę git push origin master (ponieważ wszystkie dokonane do tej pory zmiany zostały przetransferowane właśnie na główny branch master).
notion image
notion image
Zmiany są widoczne na GitHubie
  1. Na koniec możemy usunąć branch01 z naszego repo lokalnego. Użyj do tego znaną Ci już komendę git branch -d branch01
 
To wszystko działa super, do momentu kiedy pracujesz sam. Jeśli jednak pracujesz w zespole, to moze się okazać, że na tym samym branchu pracujecie w kilka osób. Wtedy wszyscy jednocześnie wprowadzacie jakieś zmiany i podczas mergowania powstałby kompletny chaos w projekcie. Na szczęście mamy na to rozwiązanie. Ale o tym następnym razem, bo już mam tego wpisu po dziórki w nosie 😄

Podsumowanie


I. Tworzenie nowego brancha

💡
Krok po kroku:
  1. Rozpoczynamy w lokalizacji brancha głównego master
  1. Tworzymy nowych branch (git branch nazwaBrancha)
  1. Przełączamy się na nowo utworzony branch git checkout nazwaBranch
    1. ewentualnie możemy użyć komendy git checkout -b nazwaBrancha, która powoduje stworzenie brancha i automatyczne przełączenie na niego
  1. Zmiany są gotowe, aby wypchnąć je do naszego repozytorium zewnętrznego przy uzyciu komendy git push

II. Następne branche

💡
Krok po kroku:
  1. Stosujemy ponownie komendę git branch nazwaNowegoBrancha, w celu stworzenia nowego brancha. Zostanie on utworzony w “starym” branchu, w którym aktualnie się znajdujemy
  1. Przełączamy się na nowo utworzony branch git checkout nazwaNowegoBrancha
    1. możemy również użyć git checkout -b nazwaNowegoBrancha, aby utworzyć branch i przeskczyć na niego automatycznie
  1. Zmiany są gotowe, aby wypchnąć je do naszego repozytorium zewnętrznego przy uzyciu komendy git push
 

III. Łączenie branchów

💡
Krok po kroku:
  1. W celu połączenia jednego brancha z drugim branchem przy pomocy komendy git megre nazwaBrancha należy najpierw przenieść się na docelowy brancha, do którego chcemy wysłać dane np:
      • jeśli chcemy przetransferować dane z branch01 do master, musimy przenieść się się do lokalizacji master, a następnie wykonać połączenie komendą git merge branch01
  1. Jeśli po połączeniu branch01 jest nam już nie potrzebny, usuwamy go przy pomocy komendy:
      • git branch -d branch02 → usuwa branch z lokalnego repozytorium
      • git push origin :branch02 → usuwa branch z zewnętrznego repozytorium
  1. Zmiany są gotowe, aby wypchnąć je do naszego repozytorium zewnętrznego przy uzyciu komendy git push

Śledź mnie na LinkedIn:


Newsletter



👋
Popełnianie błędów jest rzeczą naturalną zanim perfekcyjnie opanujemy nowy materiał. Jeśli wyłapałeś jakieś nieprawidłowości w moim tekście, proszę daj mi znać mailowo. Jeśli masz jakieś sugestie lub pytania, proszę napisz do mnie wiadomość: kuba@javampokaze.pl