9.0 Trochę historii
Od momentu swojego powstania narzędzie Git DVCS miało domyślną gałąź o nazwie master
. Każde repozytorium Git miało gałąź master
, chyba że deweloper podjął wyraźne kroki, aby ją usunąć, co było rzadkie, ponieważ gałąź master
odgrywa ważną rolę w świecie tworzenia oprogramowania.
Użycie terminów master
i slave
(mistrz i niewolnik) w branży komputerowej zwróciło uwagę latem 2020 roku w obliczu licznych protestów i narastających niepokojów społecznych. W toku publicznych dyskusji pojawiło się kilka alternatyw dla master
, w tym default
i primary
. Jednak najpopularniejszym terminem stał się main
.
GitHub podjął działania i zrezygnował z terminu master
przy inicjalizacji repozytorium Git. Przełączenie GitHub z master
na main
możliwe jest w ustawieniach konta Repositories lub poleceniem:

$ git branch -m master main
W dalszych wykładach używany jest termin master
. Więcej na temat przejścia można dowiedzieć się z poniższych linków:
9.1 Czym jest Git i dlaczego jest potrzebny
Git — to potężny system kontroli wersji, używany do śledzenia zmian w kodzie źródłowym podczas tworzenia oprogramowania. Pozwala deweloperom przechowywać różne wersje plików i koordynować pracę kilku osób nad wspólnym projektem.
Podstawowe pojęcia Git:
Repozytorium
Repozytorium (lub "repo") — to miejsce, gdzie przechowywana jest cała historia projektu, w tym wszystkie zmiany i wersje plików. W Git repozytorium obejmuje katalog roboczy, indeks (lub stage) i bazę danych obiektów.
Commity
Commit (commit)
— to zapisany stan projektu. Każdy commit w Git zawiera informacje o tym, jakie zmiany zostały wprowadzone do projektu, przez kogo i kiedy. Commity tworzą historię projektu i pozwalają wrócić do każdej wcześniejszej wersji.
Gałęzie
Gałąź (branch)
— to niezależna linia rozwoju. Domyślnie, Git tworzy gałąź main (wcześniej master)
. Możesz tworzyć nowe gałęzie dla rozwoju nowych funkcji lub poprawek, a następnie scalać je z powrotem do głównej gałęzi.
Scalanie i rebase
Scalanie (merge)
i rebase (rebase)
— to dwa sposoby integracji zmian z jednej gałęzi do drugiej. Scalanie łączy historie dwóch gałęzi, tworząc nowy commit, a rebase przenosi commit jednej gałęzi na szczyt drugiej, zmieniając historię commitów.
9.2 Podstawowe polecenia Git
Oto tabelka z podstawowymi poleceniami Git do zarządzania wersjami:
Polecenie | Opis |
---|---|
git init |
Inicjuje nowe repozytorium Git w bieżącym katalogu. |
git clone |
Klonuje repozytorium z URL do nowego katalogu. |
git add |
Dodaje pliki do indeksu do następnego commitu. |
git commit |
Rejestruje przygotowane zmiany w repozytorium. |
git push |
Wysyła zmiany z lokalnego repozytorium do zdalnego. |
git pull |
Aktualizuje bieżącą gałąź z najnowszą wersją z zdalnego repozytorium. |
git branch |
Pokazuje, tworzy lub usuwa gałęzie. |
git merge |
Łączy zmiany wskazanej gałęzi z bieżącą gałęzią. |
git rebase |
Przenosi zmiany na nową bazę (często jest to inna gałąź). |
Te polecenia reprezentują podstawowe narzędzia pracy w Git, pozwalając zarządzać zmianami kodu, gałęziami i scaleniami w projektach dowolnego rozmiaru. Więcej szczegółów omówimy w kolejnych wykładach.
9.3 Trzy miejsca przechowywania kodu
Kiedy będziesz korzystać z systemu kontroli wersji do swojego kodu, twoje kody, mówiąc ogólnie, będą przechowywane w trzech miejscach:
1. Zdalne repozytorium:
To scentralizowane miejsce do przechowywania twojego kodu, zazwyczaj umieszczone na takich usługach, jak GitHub, GitLab lub Bitbucket. Zapewniają one scentralizowane przechowywanie kodu i stanowią podstawę do współpracy.
Zdalne repozytoria pozwalają deweloperom dzielić się swoimi zmianami, synchronizować wysiłki i prowadzić historię zmian projektu. Również zdalne repozytorium służy jako punkt integracji dla automatyzacji procesów, takich jak budowanie, testowanie i wdrażanie aplikacji.
2. Lokalny repozytorium:
Lokalny repozytorium — to twoja osobista kopia kodu, przechowywana na twoim komputerze. W tym repozytorium możesz wykonywać wszystkie operacje z Git (commity, gałęzie, scalanie) bez potrzeby połączenia z Internetem.
Lokalne repozytoria pozwalają deweloperom pracować w izolacji od kolegów, eksperymentować, tworzyć nowe funkcje lub naprawiać błędy, zanim zmiany zostaną scalone (merge) i wysłane do zdalnego repozytorium.
3. Katalog roboczy:
Katalog roboczy na twoim komputerze zawiera aktualne pliki projektu, nad którymi w tej chwili pracujesz. To miejsce, gdzie możesz zobaczyć i zmieniać pliki, dodawać nową funkcjonalność lub naprawiać błędy.
Po wprowadzeniu zmian, możesz dodawać je do indeksu (staging area), a następnie rejestrować w lokalnym repozytorium. Katalog roboczy jest związany z bieżącą gałęzią w twoim repozytorium i zmiana gałęzi zmienia zawartość katalogu roboczego.
Te komponenty wspólnie zapewniają potężną infrastrukturę do zarządzania kodem źródłowym, pozwalając deweloperom zarządzać historią projektu, współpracować i dzielić odpowiedzialność za kod.
9.4 GitHub najpopularniejsze darmowe repozytorium
GitHub — to wiodąca platforma internetowa do hostingowania kodu źródłowego, używająca systemu kontroli wersji Git. Założona w 2008 roku, szybko stała się jednym z kluczowych narzędzi dla deweloperów na całym świecie.

GitHub pozwala użytkownikom tworzyć repozytoria do zarządzania projektami, kontrolowania i śledzenia zmian w kodzie, współpracować z innymi deweloperami i prowadzić projekt w otwartym lub prywatnym trybie. Oferuje takie funkcje, jak forki, gałęzie, pull requesty i scalania, co pozwala deweloperom łatwo wspólnie pracować nad projektami.
GitHub zawiera również funkcjonalność do śledzenia problemów, wniosków o funkcje, zarządzania zadaniami i wiki dla każdego projektu. Platforma integruje się z wieloma narzędziami i usługami, oferując rozległe możliwości automatyzacji tworzenia, testowania i wdrażania aplikacji.
GitHub wspiera obszerne społeczność deweloperów, w którym aktywnie dyskutowane są najlepsze praktyki programowania, zarządzania projektami i wiele więcej. To czyni go nie tylko narzędziem do zarządzania projektami, ale także centrum społeczności, gdzie deweloperzy mogą dzielić się wiedzą i doświadczeniem.
9.5 Rejestracja na GitHub

Krok 1. Wejdź na https://github.com
Krok 2. Zarejestruj się…
Krok 3. Kliknij przycisk "New" aby stworzyć nowe repozytorium.
Krok 4. Podaj nazwę repozytorium i skonfiguruj jego parametry.
Krok 5. Dodaj do projektu plik README – przyda się nam w przyszłości.
Krok 6. Kliknij "Create repository".
GO TO FULL VERSION