Jeśli jesteś nowicjuszem w świecie programowania, nauka Git powinna być czymś na szczycie listy twoich priorytetów. Zacznijmy więc od zrozumienia, czym jest Git?
Git to darmowy i ogólnodostępny system kontroli wersji, który śledzi wszystkie zmiany dokonane w plikach przez niego monitorowanych. Umożliwia wielu programistom wspólną pracę nad tym samym zestawem plików, bez kolidowania ze sobą nawzajem.
Git nie tylko śledzi, jakie pliki zostały zmienione, ale także monitoruje:
- Jakie zmiany zostały wprowadzone?
- Kto dokonał tych zmian?
- Kiedy dokonano tych zmian?
Dzięki temu można łatwo wrócić do poprzednich wersji plików i zidentyfikować błędy, jeśli się pojawią. Zespół deweloperów musi być podłączony do serwera centralnego, aby uzyskać dostęp do repozytorium i móc dokonać zmian.
Każdy z programistów ma własną, lokalną kopię głównego repozytorium. W ten sposób mogą oni zmieniać, aktualizować i zatwierdzać zmiany w swojej lokalnej kopii projektu bez ingerencji w jego główną wersję.
Jak działa Git?
Do komunikacji z Gitem używamy komend, które wpisujemy konsoli. Poniżej omówimy najważniejsze komendy.
1. Status Gita
Gdy użytkownik dokona zmian w pliku roboczym na swoim komputerze, git śledzi ostatnio zmodyfikowane pliki.
Polecenie git status wyświetla listę wszystkich plików, które zostały ostatnio zmodyfikowane i nie zostały dodane do lokalnego repozytorium.
2. Dodaj do Gita
Polecenie git add służy do przenoszenia zmodyfikowanych plików do obszaru roboczego w celu zatwierdzenia.
Użyj poniższych poleceń:
git add nazwa pliku – aby dodać określony plik
git add * – umieszcza wszystkie pliki, czyli nowe, zmodyfikowane i usunięte pliki.
git add . – przygotowuje tylko nowe i zmodyfikowane pliki, z wyłączeniem plików usuniętych.
Do tego momentu zmiany są widoczne tylko na lokalnym komputerze programisty, reszta zespołu nie ma do nich dostępu.
3. Zatwierdź Git
Aby udostępnić plik online, musisz wysłać – „wypchnąć” zmiany na swoich lokalnych plikach by zsynchronizować je ze zdalnym repozytorium.
Polecenie git commit przenosi zmiany z obszaru roboczego do lokalnego repozytorium.
Za każdym razem należy podać krótką wiadomość wyjaśniającą wprowadzone zmiany.
4. Git pull
Polecenie git pull pomaga ci być na bieżąco ze zmianami, które są dodawane do głównego repozytorium. To samo robią inni deweloperzy w twoim zespole.
Aby pobrać zmiany, musisz ustawić źródło repozytorium nadrzędnego.
Polecenie git remote add origin 'tu podajemy link do głównego repozytorium’
Teraz możesz pobrać zmiany za pomocą poniższego polecenia git pull origin master
Dobrą praktyką jest pobranie zmian przed poleceniem git push. Pozwoli to uniknąć konfliktów w kodzie, które mogą pojawić się wtedy gdy ktoś oprócz ciebie wprowadza zmiany w tym samym pliku. W takich sytuacjach może czasem dojść do nieumyślnego usunięcia czyichś zmian.
5. Git push
Polecenie git push przenosi zmiany z lokalnego do zdalnego repozytorium. W ten sposób wprowadzone przez ciebie zmiany zostaną opublikowane i udostępnione online.
git push origin main – wypycha zmiany do gałęzi głównej
git push origin ‘nazwa brancha’ – wypycha zmiany do gałęzi o podanej nazwie.
Praca z gałęziami
Gałęzie czyli „branche” to lokalne kopie repozytorium, na których możesz wprowadzać zmiany i testować je bez wpływu na główny projekt. W pracy możesz spotkać się z zasadą tworzenia osobnej gałęzi dla każdego zadania nad którym pracujesz.
Dzięki temu pracujesz tylko nad konkretnym fragmentem kodu i po wrzuceniu swoich zmian do projektu, w przypadku gdy pojawia się problem łatwo można go namierzyć i wycofać zmiany, które mogły go wywołać.
Aby utworzyć nowy branch wpisz w konsoli polecenie git branch ‘nazwa brancha’.
Polecenie git checkout ‘nazwa brancha’ służy do przejścia do określonej gałęzi. Teraz wszelkie zmiany dotyczyć będą tylko kodu na tym branchu.
Polecenie git checkout-b 'nazwa brancha’ – to połączenie dwóch powyższych poleceń.
Po dokonaniu zmian możesz połączyć swoją gałąź z repozytorium głównym za pomocą polecenia git push –u origin ‘nazwa brancha’
Polecenie git branch –d 'nazwa brancha’ – służy do usuwania gałęzi po scaleniu zmian.
W niektórych przypadkach git może odmówić usunięcia gałęzi, jeśli zawiera ona zmiany, które nie zostały scalone z głównym repozytorium, co jest mechanizmem zabezpieczającym przed przypadkową utratą danych.
Git jest jednym z narzędzi, z którymi będziesz się spotykać na co dzień w ramach swojej pracy. Warto więc zapoznać się z nim już na samym początku nauki programowania.