Skip to content

SPSKNM-cvicenia/Github-Introduction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

Vitaj na GitHube!

Asi si sa ešte s GitHubom nestretol/a, to však nevadí. V tejto príručke Ti vysvetlíme, ako funguje Git, zameriame sa aj na dôležité pojmy ako Commit alebo Pull Request.

Navigácia

Základné pojmy

Git - Git je open source nástroj, ktorý Ti umožní sledovanie zmien v súboroch. Je základnou technológiou, ktorú GitHub využíva.

Repository (Repozitár, skrátene Repo) - Repozitár je základným prvkom GitHubu. Dá sa povedať, že to je priečinok, v ktorom máš umiestnený svoj projekt. Tento priečinok obsahuje všetky súbory Tvojho projektu a ukladá históriu všetkých zmien každého súboru. Nemusíš byť jediným, kto má k repozitáru prístup, pretože repozitár môže mať viacerých spolupracovníkov. Repozitár môže byť verejný alebo súkromný.

Commit - Commit je nejaké zoskupenie zmien v projekte. Keď commituješ, Git vytvára jedinečné ID, ktoré Ti umožní uchovávať záznamy o týchto zmenách a aj to, kto a kedy danú zmenu vykonal.

Organizácia (Organisation) - GitHub Organizácia je ako profil, ku ktorému majú prístup viacerí užívatelia. V tejto organizácií si môžeš vytvárať repozitáre.

Fork - Fork je kópia repozirára iného používateľa, ktorá sa uloží medzi Tvoje repozitáre. Forky Ti umožnia voľne vykonávať zmeny v projekte bez ovplyvnenia pôvodného repozitára. Môžeš však otvoriť Pull Request v pôvodnom repozitári.

Pull Request - Pull Requesty sú zmeny v repozitári, ktoré navrhol používateľ a ktoré môžeš ako vlastník (alebo spolupracovník) pôvodného repozirára prijať, prípadne odmietnuť.

Push - Nahranie lokálnych zmien (ešte nie sú na GitHube), ktoré sa nachádzajú v commitoch, na GitHub.

Pull - Stiahnutie aktuálnej verzie repozitára z GitHubu, v prípade, že si nejaké súbory upravil, tak môže nastať konflikt (Merge Conflict), ktorý je nutné vyriešiť.

Branch - Branch je vetva projektu, ktorú môžeš pridať, ak chceš opraviť chybu alebo s niečím experimentovať, ale nechceš, aby ti to ovplyvnilo Tvoj projekt. Každý repozitár má default branch, ale môže obsahovať aj ďaľšie.

Merge - Merge je zlúčenie jednej branche do druhej za vykonania Pull Requestu.

Merge Conflict - Je stav, kedy existuje viacero novších verzií nejakého súboru v kóde a nie je zrejmé, ktorá verzia sa má použiť.

Licencia - Licencia je dôležitý súbor, ktorý Ti povoľuje alebo zakazuje využívať kódy iných užívateľov. Licencia môže obsahovať podmienky a kód pod touto licenciou môžeš legálne použiť iba vtedy, ak ich spĺňaš.

IDE - Integrated development environment - je vývojové prostredie v ktorom budeš pracovať.

readme.md - Je to textový súbor obsahujúci informácie o repozitári. Keďže sa automaticky zobrazuje pod repozitárom, je zvyčajne prvým súborom, ktorý návštevník Tvojho repozitára uvidí. Tvorí sa v MarkDowne.

.gitignore - gitignore je súbor, ktorý špecifikuje, ktoré časti by sa nemali nahrávať spolu so zmenami v commite. Používa sa na vyfiltrovanie zbytočných súborov, napríklad tých, ktoré vytvorí IDE, prípadne súborov s citlivými dátami.

Pozn.: Toto sú len základné pojmy. Odporúčame, aby si si prečítal(a) slovník z oficiálnej dokumentácie GitHubu: https://docs.github.com/en/get-started/quickstart/github-glossary

Založenie Repozitára

  1. V pravom hornom rohu, rozklikni + a klikni na New Repository.

img1

  1. Pomenuj svoj repozirár, môžeš pridať aj popis, readme súbor, .gitignore, licenciu alebo zmeniť repozitár na súkromný. Následne klikni na Create Repository.

img2

Setup / Commitovanie z Visual Studia

Setup repozitára

Po inštalacií Visual Studia si musíš synchronizovať GitHub repozitár, aby si z neho mohol vytvárať commity.

  1. Po otvorení Visual Studia zvoľ možnosť Clone a repository, ktorá sa nachádza v pravej časti okna.

imgvs1

  1. Tu zvoľ možnosť GitHub.

imgvs2

  1. Vyskočí na teba okno, v ktorom sa môžeš v pravej hornej časti prihlásiť kliknutím na Sign in....

imgvs3

imgvs4

  1. Po úspešnom prihlásení Ti Visual Studio sprístupní tvoje repozitáre.

imgvs5

Po vybraní jedného z repozitárov sa Ti stiahne a môžeš ho upraviť alebo inak využívať.

Commitovanie

Po úprave súborov musíš commitnúť zmeny.

  1. Po úprave projektu Ti Visual Studio vypíše, koľko zmien sa vykonalo. Klikneš na ceruzku v pravom dolnom rohu s číslom (číslo symbolizuje kolko súborov sa zmenilo), otvorí sa Ti GIT panel.

imgvs6

  1. Vypíšeš popis commitu a zmáčneš Commit All.

imgvs7

imgvs8

  1. Všimni si, že Visual Studio píše, že commit bol vytvorený lokálne - to znamená, že ešte nie je v tvojom repozitári na GitHube, ale len v Tvojom počítači. Ak ho chceš dať na GitHub, klikni na Push, a Visual Studio to pushne na GitHub.

imgvs9

imgvs10

Sťahovanie zmien z GitHubu / Fetch

Zmeny, ktoré boli vykonané v Repozitári niekým iným, sa Ti automaticky nestiahnú, musíš si ich najskôr fetchnúť a potom pullnúť.

  1. V Git paneli klikni na Fetch.

imgvs11

  1. Visual Studio Ti potom vypíše, že koľko commitov je potrebné stiahnuť, aby si mal najaktuálnejšiu verziu repozitára:

imgvs12

  1. Klikneš na počet zmien a následne na Pull.

imgvs13

Setup / Commitovanie z GitHub Desktop

Na rozdiel od ostatných IDE, GitHub Desktop je stand-alone GIT client, to znamená, že nemá prvky IDE (Compiler, code editor, ...) ale je určený len na commitovanie a iné GIT operácie.

Setup Repozitára

Po inštalacií GitHub Desktop si musíš ešte synchronizovať GitHub repozitár, aby si z neho mohol commitovať.

  1. Naľavo klikneš na Clone a repository from the Internet
  2. Následne zvolíš github.com a klikneš na Sign In Potom v okne upozornujúcom na bezpečnosť klikni na Continue with browser.

img_gh1

img_gh2

img_gh3

  1. V prehladači sa prihlás do GitHubu (ak ešte nie si) a klikni na Authorize desktop.

img_gh4

  1. Napravo sa Ti zobrazia Tvoje repozitáre. Zvoľ si ten správny a klikni na Clone [meno repozitára] Vyber si, že kde ho chceš uložiť a klikni na Clone.

img_gh5

img_gh6

img_gh7

  1. Tvoj repozitár sa práve naklonoval a môžeš začať pracovať.

img_gh8

Commitovanie

Po úprave súborov je potrebné vykonať commit. GitHub Desktop Ti automaticky sleduje zmeny v súboroch a pri každej zmene ich vypíše na panel v ľavej časti.

  1. V ľavom dolnom roku vypíš názov commitu prípadne popis a klikni na Commit to master.

img_gh9

  1. Všimni si, že Tvoj commit ešte nie je na GitHube, a GitHub Desktop píše, že je k dispozíci jeden (alebo viacero) commitov, ktoré ešte neboli pushnuté na Github - to znamená, že dané commity ešte nie sú v Tvojom repozitári na GitHube, ale len v Tvojom počítači. Ak ich chceš dať na GitHub, klikni na Push origin, a Github Desktop to automaticky pushne na GitHub.

img_gh10

Sťahovanie zmien z GitHubu / Fetch

Zmeny, ktoré boli vykonané v repozitári niekým iným, sa Ti automaticky nestiahnú, musíš si ich najskôr fetchnúť a potom pullnúť.

  1. Na paneli hore klikni na Fetch Origin. Toto overí stav, v ktorom sa nachádza repozitár a či je k dispozicií novší commit.

img_gh11

  1. V prípade, že je k dispozícií novší commit, zobrazí sa Ti možnosť pullnuť zmeny. Pullni ich kliknutím na Pull origin.

img_gh12

Setup / Commitovanie z Jetbrains Rider

Setup Repozitára

Po inštalacií Jetbrains Rider si musíš synchronizovať GitHub repozitár, aby si z neho mohol commitovať.

  1. Po otvorení Jetbrains Rider zvoľ možnosť Get from VCS.

imgrd1

  1. Po otvorení nového okna skontroluješ, či Rider rozoznáva Git v systéme. Pokiaľ sa Ti zobrazuje možnosť Git is not intalled, klikni na Download and install a počkaj kým sa proces skončí (môže to trvať pár minút).

imgrd2

  1. Naľavo v menu klikni na GitHub a potom na možnosť Log in via Github..., čo Ti otvorí internetový prehliadač. Klikni na tlačidlo Authorise in Github, prihlás sa a po úspešnom prihlásení sa Ti zobrazí, že si sa úspešne prihlásil do Githubu a že môžeš zavrieť kartu.

imgrd3

imgrd4

imgrd5

imgrd6

  1. Po úspešnom prihlásení Ti Rider ponúkne Tvoje repozitáre na stiahnutie:

imgrd7

  1. Klikni na tlačidlo Clone - Repozitár sa Ti automaticky stiahne a môžeš ho používať.

Commitovanie

Po úprave súborov je potrebné vykonať commit.

  1. V pravom hornom rohu vidíš ikony ponuky GIT. Na commitovanie klikni na zelenú fajku.

imgrd7

  1. Otovrí sa Ti ponuka naľavo, ktorá ukazuje zmenené súbory. Dole napíš popis commitu a klikni na Commit and Push.

imgrd7

  1. Tento krok je nutný iba po prvom commite z nového IDE: Git potrebuje Tvoje údaje pre prvé spustenie. Informácie zadáš a následne klikneš na Set and commit.

imgrd7

  1. Zobrazí sa Ti okno, ktoré Ti zhrnie, aké zmeny ideš vykonať. Klikni na tlačidlo Push a Rider nahrá zmeny priamo na GitHub.

imgrd7

Sťahovanie zmien z GitHubu / Fetch

Zmeny, ktoré boli vykonané v Repozitári niekým iným, sa Ti automaticky nestiahnú, musíš si ich najskôr fetchnúť a potom pullnúť.

  1. V GIT paneli klikni na modrú šípku smerujúcu nadol.

imgrd7

  1. Po kliknutí zvoľ možnosť Merge incomming changes into current branch.

imgrd7

Setup / Commitovanie z terminálu

Setup

  1. Stiahni GIT (návod na stiahnutie je k dispozícii na ich stránkach.
  2. Nakonfiguruj svoje meno a email.
$ git config --global user.name "Tvoj Github Login"
$ git config --global user.email "[email protected]"
  1. Inicializuj Git repozitár v zložke. Tento príkaz vytvorí nový tzv. lokálny repozitár. Lokálne repozitáre uchovávajú zmeny iba u teba na počítači.
$ git init

Ak chceš používať GitHub, musíš ho pridať ako remote origin. Remote origin je repozitár, ktorý bude synchronizovaný s tvojím lokálnym. To znamená, že zmeny vykonané na GitHube (ako na remote) si budeš môcť pullnuť, a zmeny vykonané v lokálnom repozitári budeš môcť pushnuť. Tento proces je však automatizovaný, stačí teda vykonávať príkazy zo sekcií Commitovanie a Sťahovanie zmien z GitHubu. Ak chceš pridať tvoje repo ako remote, vykonaj následovný príkaz, len si zmeň URL adresu:

$ git remote add origin "https://github.com/github_login/meno_repozitara.git"
  1. Nastav si vetvu, v ktorej chceš pracovať (spravidla main alebo master).
$ git branch -M main

Commitovanie

  1. Vyber všetky zmeny, ktoré chceš nahrať.
$ git add <zmenený_súbor>

poprípade, ak chceš nahrať všetky súbory, tak treba zadať:

$ git add .
  1. Commitni zmeny s vhodným popisom zmien.
$ git commit -m "toto je popis commitu"
  1. Pushni commitnuté zmeny na GitHub.
$ git push

Sťahovanie zmien z GitHubu / Fetch

  1. Pokiaľ chceš iba zistit informácie o aktuálnej verzii remote repozitára, vykonaj príkaz:
$ git fetch
  1. Pokiaľ ích chceš následovne stiahnuť, použiješ príkaz:
$ git pull

Kolaborácia medzi spolužiakmi

Si v tíme so spolužiakom a máte spoločne robiť na projekte, no nechceš, aby ste mali každý svoj repozitár, chcete pracovať na jednom. V takom prípade môžeš spolužiaka pridať ako spolupracovníka do svojho repozitára.

  1. Pôjdeš do nastavení repozitára.

img3

  1. Klikneš na Manage Access (Môže vyžadovať opätovné prihlásenie).

img4

  1. Klikneš na Invite a collaborator.

img5

  1. Vyhľadáš spolužiaka a pridáš ho.

img6

img7

img8

img9

  1. Spolužiakovi potom príde na e-mailovú adresu pozvánka, ktorú príjme.

img10

img11

GitHub Student Developer Pack

Github poskytuje pre študentov sadu nástrojov a výhod zadarmo. Príkladom je Jetbrains IDE alebo Github Copilot. Naša škola je registrovaná GitHubom a preto ako študent máš možnosť dané výhody využívať.

Na balíček potrebujete:

  1. GitHub Účet

  2. Potvrdenie o návšteve školy z EduPage alebo ISIC

  3. Školskú e-mailovú adresu (@spsknm.onmicrosoft.com)

Začni tým, že si pridáš v nastaveniach školskú emailovú adresu ako sekundárnu:

img12

Následne choď na stránku https://education.github.com , kde sa prihlás a požiadaj o discount. Zvoľ *školskú e-mailovú adresu a napíš, že akým spôsobom plánuješ využívať GitHub Student Pack:

img13

Potom klikni na continue a nahraj svoj naskenovaný ISIC / snímku obrazovky z EduPage:

img13

Do Proof type daj:

  • pokiaľ si poslal ISIC - Dated School ID.

  • pokiaľ si poslal snímku obrazovky z EduPage - Other (Example: Screenshot of school portal).

A žiadosť odošli. GitHub by sa mal ozvať do 30 dní.

Pozn.: Školsku e-mailovú adresu (@spsknm.onmicrosoft.com) si treba pýtať od svojho učiteľa programovania

Pozn.: Odporúčame, aby si si prečítal(a) oficiálnu dokumentáciu GitHub Education: https://docs.github.com/en/education. Takisto odporúčame aby si si prečítal(a) FAQ Github Education v prípade že nemáš ISIC: https://github.blog/2019-07-30-how-to-get-the-github-student-developer-pack-without-a-student-id/

Pozn.: Github často mení tieto požiadávky, čiže táto časť môže byť out-of-date. V prípade, že je, uvítame pull-requesty s opraveným postupom.

Zdroje

GitHub Docs - https://github.com/github/docs/ pod licenciou CC-BY 4.0