Lab 02 - System kontroli wersji - Git
System kontroli wersji - Git
Wprowadzenie do kontroli wersji
System kontroli wersji służy do śledzenia zmian dokonywanych w pliku (lub plikach) i umożliwia powrót do dowolnego wcześniejszego stanu. Jest to powszechnie wykorzystywane narzędzie w projektach programistycznych chociaż objęcie kontroli wersji jest możliwe dla dowolnego typu pliku na komputerze.
Jeśli interesujesz się grafiką lub projektowaniem stron WWW i chcesz zachować każdą wersję pliku graficznego lub układu witryny WWW (co wydaje się być rozsądnym pomysłem), to zastosowanie systemu kontroli wersji jest odpowiednim do tego narzędziem. Pozwala ono na: * przywracanie pliku (lub plików) do wcześniejszej wersji, * odtwarzanie stanu całego projektu, * porównywanie wprowadzonych zmian (nawet gdy jeden plik edytowało wiele osób), * pozyskanie informacji o tym kto i kiedy wprowadził daną modyfikację.
Najpowszechniej rozdystrybuowanym systemem kontroli wersji jest
Git
a tworzone w jego ramach projekty to
repozytoria. Popularna witryna GitHub
stanowi sieciowy
hosting dla repozytoriów Gita
. ***
Interaktywne wprowadzenie do Gita
Aby rozpocząć pracę z Gitem
zapoznaj się z interaktywnym
poradnikiem dostępnym na stronie learngitbranching. Opisane
są w nim najważniejsze koncepty, które również są przedstawione w
intuicyjnej, graficznej formie.
🛠🔥 Zadanie 1 🛠🔥
Rozwiąż cztery pierwsze zadania z działu Główne: Wprowadzenie na stronie learngitbranching: 1. Wprowadzenie do commitów Gita 2. Rozgałęzienia w Gicie 3. Merge w Gicie 4. Wprowadzenie do Rebase
oraz kolejne siedem z działu Push & Pull – Zdalne repozytoria: 1. Wstęp do klonowania (clone) 2. Zdalne gałęzie 3. Git fetch 4. Git pull 5. Symulacja pracy zespołowej 6. Git push 7. Rozbieżna historia
Ćwiczenia hands-on Git
🛠🔥 Zadanie 2 🛠🔥
Utwórz konto na GitHub
. Postaraj się użyć
rozsądnej nazwy użytkownika, gdyż często repozytoria stanowią swojego
rodzaju portfolia dla przyszłych pracodawcow. Postanów umieszczać
tworzony kod na repozytoria Gita
już dziś - z czasem
stosowanie kontroli wersji stanie się to dobrym nawykiem i będziesz już
dysponował pewną historią “kodowania”.
🛠🔥 Zadanie 3 🛠🔥
Utwórz nowe repozytorium za pomocą strony GitHub
o nazwie np.
hello-git. Wypełnij pole opisu (np. Przykładowe repozytorium do
nauki obsługi gita), zaznacz chęć utworzeniu pliku README
i
wybierz licencję dla swojego
projektu (np. MIT).
🛠🔥 Zadanie 4 🛠🔥
Otwórz terminal poleceń i skonfiguruj ustawienia Gita
dla swojego użytkownika:
git config --global user.name "Nazwa uzytkownika Gita"
git config --global user.email "Adres e-mail uzytkownika Gita"
Wyświetl zapisane ustawienia komendą:
git config -l
🛠🔥 Zadanie 5 🛠🔥
Sklonuj na swój komputer utworzone repozytorium z
githuba
komendą git clone adres_www
. ***
🛠🔥 Zadanie 6 🛠🔥
Utwórz dowolny plik tekstowy i wgraj go na swoje repozytorium
Gita
. Wykorzystaj następujące komendy w poniższej
kolejności:
Polecenie | Funkcja |
---|---|
git status (Opcjonalnie) |
Powoduje wyświetlenie aktualnego stanu repozytorium, które pobrano na kompute |
git add -A |
Komenda git add pozwala na podzielenie dokonanych zmian
na różne commity, natomiast argument -A powoduje
uwzględnienie wszystkich zmian jednocześnie. Zwróć uwagę, że
interaktywne wprowadzenie, które rozwiązałeś pomijało tę komendę
(zakładano commitowanie wszystkich zmian na raz). |
git commit -m "Krotki opis wprowadzonych zmian" |
Dodaje do historii repozytorium wprowadzone zmiany |
git push |
Powoduje zaktualizowanie repozytorium zdalnego |
Zaobserwuj efekt na Githubie
, zapoznaj się z interfejsem
użytkownika repozytorium. *** #### 🛠🔥 Zadanie 7 🛠🔥
Kod zawierający informacje o autorze, zależnościach w projekcie,
sposobie instalacji i uruchamiania jest prościej wykorzystać. Takie
informacje standardowo umieszcza się w pliku README.md
.
Język jakim posługujemy się do tworzenia takich plików jest
Markdown
. Korzystając z informacji
o składni postaraj się wyedytować plik README.md
uzyskując poniższy efekt. Wykorzystaj do tego edytor w przeglądarce na
stronie Github
.
***
🛠🔥 Zadanie 8 🛠🔥
Wywołaj komendę cat
na lokalnym pliku
README.md
, aby wyświetlić jego zawartość. Dlaczego plik nie
zawiera wprowadzonych zmian? Zaktualizuj lokalną wersję repozytorium
korzystając z komendy git pull
. ***
🛠🔥 Zadanie 9 🛠🔥
Projekty, w których będziesz brał udział w przyszłości najczęściej
będą tworzone zespołowo. Wiele repozytoriów jest również open-source,
czyli może mieć wpływ na znajdujący się w nich kod. W tym zadaniu
zaproponujemy zmianę w repozytorium prowadzącego: 1. Otwórz wskazane
repozytorium w przeglądarce. 2. Przejdź do zakładki Issues
i dodaj je w następującym formacie:
username:
NazwaUzytkownikaGita
W taki sposób prowadzący doda Cię jako współdewelopera projektu.
- Sklonuj repozytorium prowadzącego.
(
git clone adres_www
) - Stwórz własną gałąź w repozytorium nazywając ją swoją nazwą
użytkownika. (
git branch NazwaGalezi
). Uwaga! Możesz wykonać polecenie 4 i 5 jedną komendą dodając argument (git checkout -b NazwaGalezi
). - Zmień aktualną gałąź na nowo-utworzoną
(
git checkout NazwaGalezi
). - Stwórz nowy katalog (nazwij go swoją nazwą użytkownika), a w tym
katalogu plik tekstowy (nazwij go swoimi inicjałami
.txt
) i wklej do niego przykładowy tekst (United we stand, divided we fall!
). - Wgraj gałąź na serwer.
(
git push -u origin NazwaGalezi
). Argument-u
powoduje, że zmiany w nowo-utworzonej lokalnie gałęzi będą śledzone w stosunku do zmian w repozytorium zdalnym. - Korzystając z interfejsu użytkownika
Githuba
utwórz pull request utworzonej gałęzi do gałęzi głównej.
🛠🔥 Zadanie domowe 🛠🔥
Znajdź odpowiedź na pytanie - jaki jest cel pliku
.gitignore
?