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
?