Git Product home page Git Product logo

kernel-git's Introduction

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ó[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.

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!

kernel-git's People

Contributors

rusiek avatar happybutter avatar kacperkapusciak avatar toteq avatar piotrmoszkowicz avatar critteros avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.