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 ;)
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:
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>
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:
- Token dostępu (dawnej logowanie hasłem)
- Kluczem SSH
- 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ó[email protected]"
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.
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!