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.

  1. Sklonuj repozytorium prowadzącego. (git clone adres_www)
  2. 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).
  3. Zmień aktualną gałąź na nowo-utworzoną (git checkout NazwaGalezi).
  4. 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!).
  5. 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.
  6. 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?

Źródła i dodatkowe materiały: