Git checkout, git checkout remote branch, git switch

Git checkout, git checkout remote branch, git switch

Git jako najpopularniejszy rozproszony system kontroli wersji – może się pochwalić rozbudowanym zbiorem funkcjonalności oraz różnego rodzaju integracji – co pozwala wykorzystać go swobodnie w wielu codziennych zadaniach.
W ramach tego materiału dowiesz się jak przełączać się między branch’ami za pomocą git checkout i git switch, a także jak wykorzystać te polecenia do tworzenia nowych gałęzi.

Git checkout | Git switch – wprowadzenie

Z tego materiału dowiesz się:

  • Czym jest git checkout?
  • Jak przełączać się między branch’ami za pomocą git checkout?
  • Jak tworzyć nowe branch’e korzystając z git checkout?
  • Jak działa git switch?
  • Co różni oraz łączy git switch i git checkout?

Git install – instalacja Git

Jeżeli nie masz jeszcze Gita zainstalowanego lokalnie – szybko możesz to nadrobić.
W poniższym materiale znajdziesz instrukcję, jak można to zrobić.

➡ ZOBACZ 👉: Install Git – Instalacja Git, Windows, Ubuntu – Bash, GUI

Git i Git branch

W ramach tego materiału zajmiemy się przede wszystkim przełączaniem się między branch’ami (git checkout oraz git switch) – natomiast kompletny tutorial Git i Git branch znajdziesz poniżej.

➡ ZOBACZ:

👉 Git tutorial | stash, rebase, commit, merge, checkout, push i clone

👉 Git branch | git branch create, rename, delete, checkout, merge

Git checkout – przełączanie się między branch’ami

Pracując często na kilku branch’ach, zdecydowanie przydaje się polecenie git checkout.
Przyjrzyjmy się bliżej temu co git checkout nam umożliwia.

Git checkout pozwala nam:

  • Przełączać aktualnie aktywną gałąź.
  • Tworzyć nowego branch’a.
  • Przywracać pliki.

Najczęstszym przypadkiem użycia git checkout jest przełączenie się na inną gałąź, co czyni ją nową gałęzią HEAD. Przeskakiwanie między gałęziami jest częstą praktyką w codziennym życiu programisty, dlatego polecenie:
git checkout <nazwa istniejącego branch’a> należy dobrze znać.

 
Git checkout feature

git checkout – git switch branch git branch

Na poniższym przykładzie widać przełączenie się na branch kopia-master.

git checkout – git switch branch

Wyobraź sobie taką sytuację gdzie od kilku dni pracujesz nad plikiem strona-główna.html.
Coraz bardziej odczuwasz zadowolenie z efektu swojej pracy, a strona zaczyna wyglądać bardzo profesjonalnie. Kończąc pracę, zaczynasz się źle czuć i bierzesz dzień wolnego. W tzw. międzyczasie, jako że deadline goni i pomimo tego, że kategorycznie zaznaczasz, że nikt ma nie dotykać pliku, pracę przejmuje Twój kolega z zespołu. Kiedy wracasz po swojej nieobecności – strona nie działa, nic nie wyświetla się tak, jak powinno. Wiesz, że kolega nie do końca przyłożył się do pracy. Całe szczęście można przełączyć się na konkretną wersję pliku i naprawić ten cały bałagan. Wystarczy, że sprawdzisz swój ostatni commit i wykorzystasz git checkout <numer commit’a> <nazwa pliku>.

 
Git checkout ac3d438we12 strona-glowna.html

Poniższy przykład przedstawia plik strona-glowna.html.
Wprowadzone i zapisane zostały dwie zmiany:

  • dodanie tytulu,
  • oraz dodanie tresci.

git checkout – git checkout commit

git checkout – git checkout commit

Użyłam git checkout cab677c1f24e4a03a31fb318fd600d2e45f553cd (hash commit’a dodanie tytulu) strona-glowna.html, co w efekcie sprawiło, że przełączyłam się na tym samym branch’u do wersji z commit’a dodanie tytulu.

Jeżeli zastosowałabym dosłownie to samo polecenie np. na branch’u master to na tym branch’u pojawiłby się plik strona-glowna.html. Wersja pliku byłaby taka jak na powyższym przykładzie.

Jeśli określisz „HEAD” jako wersję, to przywrócisz ostatnią zatwierdzoną (git commit) wersję pliku, bez dodatkowych zmian, skutecznie cofając wszelkie lokalne zmiany, które aktualnie masz w tym pliku.

Poniższy przykład przedstawia plik strona-glowna.html.
HEAD znajduje się na commicie dodanie tresci. Zycze Ci milego dnia nie zostało zapisane na lokalnym repozytorium.

git checkout – git checkout HEAD git branch

git checkout – git checkout HEAD git branch

Powyżej widać, że po przełączeniu się na HEAD Zycze Ci milego dnia nie znajduję się już w pliku.

Git Checkout a Remote Branch – przełączanie się na lokalną kopię zdalnego branch’a

Współpracując z zespołem przy projekcie, często wykorzystujemy zdalne repozytoria. Te repozytoria mogą być udostępniane innym osobom lub np. być kopią lokalną innego współpracownika. Każde zdalne repozytorium zawiera własny zestaw gałęzi.

Wyobraź sobie, że chcesz naprawić bug’a na konkretnym branch’u. Git pozwala na szybkie przełączenie się na zdalnego branch’a i pracę na nim.

Aby przełączyć się na zdalnego branch’a – utworzyć lokalnego branch’a będącego kopią zdalnego branch’a, musisz przejść kilka kroków:

  • Najpierw pobierz zawartość gałęzi – użyj git fetch (pobranie stanu całego zdalnego repozytorium) lub pobierz stan tylko konkretnej zdalnej gałęzi (git fetch <nazwa zdalnego branch’a>), na którą chcesz się przełączyć,
  • następnie użyj git checkout -b <nazwa-lokalnego-branch’a> origin/<nazwa-zdalnego-branch’a>.

W nowszej wersji Gita można zastosować skróconą wersję git checkout <nazwa-zdalnego-branch’a>.

Git checkout -b – git create branch

Chcąc przełączyć się z jednego na drugiego branch’a możesz użyć komendy git checkout.
Komenda może przyjąć też parametr -b, który jest dosyć wygodny, ponieważ sprawia, że:
git checkout -b <nazwa nowego branch’a> od razu tworzy i przełącza się na nowo utworzonego branch’a.

git branch <nazwa nowego branch’a> + git checkout <nazwa nowego branch’a>
== git checkout -b <nazwa nowego branch’a>

 
Git checkout -b testowy-branch

Git checkout -b tak samo, jak git branch możesz użyć również do stworzenia nowej gałęzi:

  • Na innej istniejącej gałęzi za pomocą git checkout <nazwa nowego branch’a> < nazwa bazowego branch>.
  • W oparciu o konkretnego commit’a (nie gałąź), możesz podać hash commit’a jako punkt początkowy –
    git checkout -b <nazwa nowego branch’a> <hash commit’a>.
  • Na konkretnym tagu, który posiadasz już w swoim repozytorium – git checkout -b <nazwa nowego branch’a> <tag>.
  • Z gałęzi ze zdalnego repozytorium git checkout -b <nazwa nowego lokalnego branch’a> origin/<nazwa zdalnego branch’a>.

Git switch branch – przełączanie się między branch’ami

Git od wersji 2.23 udostępniło nową możliwość przełączania się między branch’ami, jaką jest git switch.

Git switch branch ma zapewnić lepszy interfejs dzięki wyraźnej separacji nazewnictwa (switch – przełączać), co pomaga złagodzić zamieszanie programistów podczas korzystania z git checkout. Tak naprawdę można powiedzieć, że git switch jest siostrzaną komendą dla git checkout.

git checkout – git switch branch git branch

Powyższa grafika pokazuję podobieństwa i różnice pomiędzy git checkout a git switch.

Zauważ, że w przypadku tworzenia nowego branch’a flagą w git switch jest -c.

Git checkout -b – git create branch

Chcąc przełączyć się z jednego na drugiego branch’a możesz użyć komendy git checkout.
Komenda może przyjąć też parametr -b, który jest dosyć wygodny, ponieważ sprawia, że:
git checkout -b <nazwa nowego branch’a> od razu tworzy i przełącza się na nowo utworzonego branch’a.

git branch <nazwa nowego branch’a> + git checkout <nazwa nowego branch’a>
== git checkout -b <nazwa nowego branch’a>

 
Git checkout -b testowy-branch

Git checkout -b tak samo, jak git branch możesz użyć również do stworzenia nowej gałęzi:

  • Na innej istniejącej gałęzi za pomocą git checkout <nazwa nowego branch’a> < nazwa bazowego branch>.
  • W oparciu o konkretnego commit’a (nie gałąź), możesz podać hash commit’a jako punkt początkowy –
    git checkout -b <nazwa nowego branch’a> <hash commit’a>.
  • Na konkretnym tagu, który posiadasz już w swoim repozytorium – git checkout -b <nazwa nowego branch’a> <tag>.
  • Z gałęzi ze zdalnego repozytorium git checkout -b <nazwa nowego lokalnego branch’a> origin/<nazwa zdalnego branch’a>.

Git checkout | Git switch – przełączanie się między gałęziami – podsumowanie

W ramach tego materiału przećwiczyliśmy przełączanie się między gałęziami za pomocą git checkout oraz tworzenie nowych gałęzi używając git checkout -b. Poznaliśmy również alternatywę dla git checkout, jaką jest git switch.

Jeżeli chcesz kontynuować swoją przygodę z gitem – to zapraszam do dodatkowych materiałów:

➡ ZOBACZ 👉: Git tutorial | stash, rebase, commit, merge, checkout, push i clone


Jak zostać programistą

8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista.

Jak zostać programistą
No comments
Share:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *