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.
- Základné pojmy
- Založenie repozitára
- Setup / Commitovanie z Visual Studia
- Setup / Commitovanie z GitHub Desktop
- Setup / Commitovanie z Jetbrains Rider
- Setup / Commitovanie z terminálu
- Kolaborácia medzi spolužiakmi
- GitHub Student Developer Pack
- Zdroje
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
- V pravom hornom rohu, rozklikni + a klikni na New Repository.
- 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.
Po inštalacií Visual Studia si musíš synchronizovať GitHub repozitár, aby si z neho mohol vytvárať commity.
- Po otvorení Visual Studia zvoľ možnosť Clone a repository, ktorá sa nachádza v pravej časti okna.
- Tu zvoľ možnosť GitHub.
- Vyskočí na teba okno, v ktorom sa môžeš v pravej hornej časti prihlásiť kliknutím na Sign in....
- Po úspešnom prihlásení Ti Visual Studio sprístupní tvoje repozitáre.
Po vybraní jedného z repozitárov sa Ti stiahne a môžeš ho upraviť alebo inak využívať.
Po úprave súborov musíš commitnúť zmeny.
- 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.
- Vypíšeš popis commitu a zmáčneš Commit All.
- 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.
Zmeny, ktoré boli vykonané v Repozitári niekým iným, sa Ti automaticky nestiahnú, musíš si ich najskôr fetchnúť a potom pullnúť.
- V Git paneli klikni na Fetch.
- Visual Studio Ti potom vypíše, že koľko commitov je potrebné stiahnuť, aby si mal najaktuálnejšiu verziu repozitára:
- Klikneš na počet zmien a následne na Pull.
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.
Po inštalacií GitHub Desktop si musíš ešte synchronizovať GitHub repozitár, aby si z neho mohol commitovať.
- Naľavo klikneš na Clone a repository from the Internet
- Následne zvolíš github.com a klikneš na Sign In Potom v okne upozornujúcom na bezpečnosť klikni na Continue with browser.
- V prehladači sa prihlás do GitHubu (ak ešte nie si) a klikni na Authorize desktop.
- 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.
- Tvoj repozitár sa práve naklonoval a môžeš začať pracovať.
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.
- V ľavom dolnom roku vypíš názov commitu prípadne popis a klikni na Commit to master.
- 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.
Zmeny, ktoré boli vykonané v repozitári niekým iným, sa Ti automaticky nestiahnú, musíš si ich najskôr fetchnúť a potom pullnúť.
- Na paneli hore klikni na Fetch Origin. Toto overí stav, v ktorom sa nachádza repozitár a či je k dispozicií novší commit.
- V prípade, že je k dispozícií novší commit, zobrazí sa Ti možnosť pullnuť zmeny. Pullni ich kliknutím na Pull origin.
Po inštalacií Jetbrains Rider si musíš synchronizovať GitHub repozitár, aby si z neho mohol commitovať.
- Po otvorení Jetbrains Rider zvoľ možnosť Get from VCS.
- 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).
- 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.
- Po úspešnom prihlásení Ti Rider ponúkne Tvoje repozitáre na stiahnutie:
- Klikni na tlačidlo Clone - Repozitár sa Ti automaticky stiahne a môžeš ho používať.
Po úprave súborov je potrebné vykonať commit.
- V pravom hornom rohu vidíš ikony ponuky GIT. Na commitovanie klikni na zelenú fajku.
- Otovrí sa Ti ponuka naľavo, ktorá ukazuje zmenené súbory. Dole napíš popis commitu a klikni na Commit and Push.
- 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.
- Zobrazí sa Ti okno, ktoré Ti zhrnie, aké zmeny ideš vykonať. Klikni na tlačidlo Push a Rider nahrá zmeny priamo na GitHub.
Zmeny, ktoré boli vykonané v Repozitári niekým iným, sa Ti automaticky nestiahnú, musíš si ich najskôr fetchnúť a potom pullnúť.
- V GIT paneli klikni na modrú šípku smerujúcu nadol.
- Po kliknutí zvoľ možnosť Merge incomming changes into current branch.
- Stiahni GIT (návod na stiahnutie je k dispozícii na ich stránkach.
- Nakonfiguruj svoje meno a email.
$ git config --global user.name "Tvoj Github Login"
$ git config --global user.email "tvoj_email@nieco.nieco"
- 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"
- Nastav si vetvu, v ktorej chceš pracovať (spravidla
main
alebomaster
).
$ git branch -M main
- 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 .
- Commitni zmeny s vhodným popisom zmien.
$ git commit -m "toto je popis commitu"
- Pushni commitnuté zmeny na GitHub.
$ git push
- Pokiaľ chceš iba zistit informácie o aktuálnej verzii remote repozitára, vykonaj príkaz:
$ git fetch
- Pokiaľ ích chceš následovne stiahnuť, použiješ príkaz:
$ git pull
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.
- Pôjdeš do nastavení repozitára.
- Klikneš na Manage Access (Môže vyžadovať opätovné prihlásenie).
- Klikneš na Invite a collaborator.
- Vyhľadáš spolužiaka a pridáš ho.
- Spolužiakovi potom príde na e-mailovú adresu pozvánka, ktorú príjme.
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:
-
GitHub Účet
-
Potvrdenie o návšteve školy z EduPage alebo ISIC
-
Školskú e-mailovú adresu (@spsknm.onmicrosoft.com)
Začni tým, že si pridáš v nastaveniach školskú emailovú adresu ako sekundárnu:
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:
Potom klikni na continue a nahraj svoj naskenovaný ISIC / snímku obrazovky z EduPage:
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.
GitHub Docs - https://github.com/github/docs/ pod licenciou CC-BY 4.0