gabichm / kernel-git

Home Page:https://docs.google.com/presentation/d/1Sl1zSSPdDpZDDkAHZPD4YAmB_OZafQbtNc9sNGFvML0/edit?usp=sharing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kernel-git

Uwaga!

Na początku spróbuj samodzielnie wyszukać w dostępnych źródłach komendy niezbędne do wykonania każdego z kroków. Dopiero gdy wujek Google zawiedzie - rozwiń rozwiązanie ;)

Nie krępuj się i pytaj opiekunów warsztatów o dowolną pomoc i wyjaśnienie.

Część I - Rozpoznanie terenu!

W tej części poznasz podstawowe komendy niezbędne do poruszania się po repozytorium i sprawdzania stanu swojej pracy :)

Na samym początku zforkuj repozytorium do swojego konta na Githubie! Dziękie temu będziesz mieć swoją własną kopię tego repo u siebie. Aby to zrobić musisz kliknąć przycisk "Fork" po prawej górnej części ekranu:

image


Gdy to już zrobisz sklonuj repozytorium, aby móc z niego korzystać lokalnie

Rozwiązanie

git clone https://github.com/<nazwa-twojego-konta-na-githubie>/kernel-git.git



Najpierw rozpoznaj sytuację i sprawdź na którym branchu się znajdujesz:

Rozwiązanie

git status
git branch



Ściągnij aktualne zmiany z repozytorium. Być może ktoś przed tobą coś zmajstrował...

Rozwiązanie

git fetch
git pull



Stwórz nowego brancha (nazwa dowolna ale bez spacji, wielkich liter, znaków specjalnych) i przejdź na niego:

Rozwiązanie

git branch <nazwa-brancha>
git checkout <nazwa-brancha>



Dla przećwiczenia wróć na main (dawniej master):

Rozwiązanie

git checkout master



I usuń brancha, który własnie stworzyłeś/łaś:

Rozwiązanie

git branch -D <nazwa-brancha>



Ludzie są leniwi! Stwórz brancha jednocześnie na niego przechodząc używając jednej komendy:

Rozwiązanie

git checkout -b <nazwa-brancha>



Część II - Pora zmajstrować coś samemu!

W tej części to właśnie Ty zmienisz zawartość repozytorium - dodajesz, modyfikujesz, urządzasz :)

Na początku sprawdź stan git'a wykorzystując poznane wyżej komendy. Jeśli branch na którym aktualnie się znajdujesz do main (master), wówczas przejdź do innego istniejącego branch'a lub utwórz nowy.

Rozwiązanie

git status, git branch



Teraz czas na dodanie nowego, dowolnego pliku - txt/py/js/cpp - a następnie dodaj w nim kilka linijek kodu/tekstu i sprawdź ponownie status wersjonowanego repozytorium ;)

W kolejnym kroku dodaj i zacomittuj wybrane pliki oraz dodaj commit message z opisem zaistniałych zmian.

Uwaga!
Commit message powinien być zwięzły, maksymalnie deskryptywny i w formie bezosobowej (oczywiście najlepiej w języku angielskim). Zachowanie tych reguł znacząco ułatwia cykl pracy nad Twoim projektem ;)

Rozwiązanie

git add <PATH_TO_FILE>
git commit -m <MESSAGE_WRITTEN_IN_QUOTES>

Wyjście z trybu przeglądania commitów - literka q.



Teraz sprawdź swój dodany commit komendą do przeglądania dodanych commitów ;)

Rozwiązanie

git log

Wyjście z trybu przeglądania commitów - literka q.



Aby móc "zpushować" swoje zmiany do serwisu GitHub będziesz musiał się z tym serwisem uwierzytelnić. Można tego dokonać na kilka sposobów:

  1. Token dostępu (dawnej logowanie hasłem)
  2. Kluczem SSH
  3. OAuth (domyślny sposób dla VS Code oraz oprogramowania IntelliJ)

Najbardziej uniwersjalną metodą jest autentykacja z użyciem kluczy SSH. Sposób ten opisałem poniżej.

Najpierw generujemy pare kluczy następującym poleceniem:

    ssh-keygen -t ed25519 -C "twój_email@example.com"

Po wykonaniu tego polecenia zostaniemy zapytani o to gdzie zpisać ten klucz i o passphrase. Polecam nie zmieniać domyślnej lokalizacji klucza, ponieważ może to utrudnić potem gitowi odnalezienie owego klucza. Passphrase to dodakowe hasło które można nałożyć na dany klucz. Dodanie takiego hasła spowoduje iż każdy program próbujący użyć tego klucza zapyta nas najpierw o ustawione hasło. Passphrase jest opcjonalne i nie trzeba go podawać.

W kolejnym kroku kopiujemy zawartość wygenerowanego klucza publiczego z pliku id_ed25519.pub (Domyślnie powstałym w ~/.ssh).

Wchodzimy na Githuba, klikamy w prawy górny róg na ikone profilu i wybieramy settings. W zakładce SSH and GPG keys klikamy Add new i wklejamy skopiowany klucz.

JUŻ CZAS! Umieść swoje lokalne zmiany w repozytorium w serwisie GitHub! Ponownie sprawdź swoje postępy pracy uprzednio poznanymi komendami, a następnie "wypchnij" zmiany do repo:

Rozwiązanie

git push origin <nazwa-brancha>



Wejdź teraz na GitHub i sprawdź postępy pracy. Czy widzisz nowo utworzony branch? Jeśli tak, stwórz nowego Pull Requesta prosząc osobę siedzącą obok o sprawdzenie twojego kodu - dodaj jako Reviewera przy tworzeniu Pull Requesta (uprzednio musisz dodać osobę obok do contributor'ów Twojego repo).

Po zaakceptowaniu przez nią jakości twoich zmian zmerguj PR do mastera.

Część III - Post Scriptum

Na końcu stwórz nowy Issue do Repozytorium które sforkowałeś/łaś w pierwszej części. Daj znać co sądzisz o dzisiejszych warsztatach i jak Ci poszło ;)

Jeśli spodobały Ci się zajęcia zostaw "Gwiazdkę" w Repozytorium :)

Znośnego wieczoru!