19 KiB
Úvod do GitHubu
Táto lekcia pokrýva základy GitHubu, platformy na hosťovanie a správu zmien vo vašom kóde.
Sketchnote od Tomomi Imura
Kvíz pred prednáškou
Úvod
V tejto lekcii sa naučíte:
- sledovať prácu, ktorú robíte na svojom počítači
- pracovať na projektoch s ostatnými
- ako prispievať do open source softvéru
Predpoklady
Predtým, než začnete, skontrolujte, či máte nainštalovaný Git. V termináli zadajte:
git --version
Ak Git nie je nainštalovaný, stiahnite Git. Potom nastavte svoj lokálny Git profil v termináli:
git config --global user.name "vaše-meno"git config --global user.email "váš-email"
Ak chcete skontrolovať, či je Git už nakonfigurovaný, môžete zadať:
git config --list
Budete tiež potrebovať účet na GitHub, editor kódu (napríklad Visual Studio Code) a otvorený terminál (alebo: príkazový riadok).
Prejdite na github.com a vytvorte si účet, ak ho ešte nemáte, alebo sa prihláste a vyplňte svoj profil.
✅ GitHub nie je jediným úložiskom kódu na svete; existujú aj iné, ale GitHub je najznámejší.
Príprava
Budete potrebovať priečinok s projektom kódu na vašom lokálnom počítači (notebook alebo PC) a verejné úložisko na GitHub, ktoré bude slúžiť ako príklad, ako prispievať do projektov ostatných.
Správa kódu
Predstavte si, že máte lokálny priečinok s projektom kódu a chcete začať sledovať svoj pokrok pomocou git - systému na správu verzií. Niektorí ľudia prirovnávajú používanie git k písaniu milostného listu svojmu budúcemu ja. Čítaním vašich commit správ o dni, týždne alebo mesiace neskôr si budete môcť spomenúť, prečo ste urobili určité rozhodnutie, alebo "vrátiť" zmenu - samozrejme, ak píšete dobré "commit správy".
Úloha: Vytvorte úložisko a commitnite kód
Pozrite si video
-
Vytvorte úložisko na GitHub. Na GitHub.com, v záložke úložísk alebo z navigačného panela vpravo hore, nájdite tlačidlo new repo.
- Dajte svojmu úložisku (priečinku) názov
- Vyberte create repository.
-
Prejdite do svojho pracovného priečinka. V termináli prepnite na priečinok (tiež známy ako adresár), ktorý chcete začať sledovať. Zadajte:
cd [name of your folder] -
Inicializujte git úložisko. Vo svojom projekte zadajte:
git init -
Skontrolujte stav. Ak chcete skontrolovať stav svojho úložiska, zadajte:
git statusvýstup môže vyzerať nejako takto:
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: file.txt modified: file2.txtTypicky príkaz
git statusvám povie veci ako, ktoré súbory sú pripravené na uloženie do úložiska alebo majú zmeny, ktoré by ste mohli chcieť zachovať. -
Pridajte všetky súbory na sledovanie Toto sa tiež nazýva staging súborov/pridávanie súborov do staging oblasti.
git add .Argument
git addplus.označuje, že všetky vaše súbory a zmeny sú pripravené na sledovanie. -
Pridajte vybrané súbory na sledovanie
git add [file or folder name]Toto nám pomáha pridať iba vybrané súbory do staging oblasti, keď nechceme commitnúť všetky súbory naraz.
-
Odstráňte všetky súbory zo staging oblasti
git resetTento príkaz nám pomáha odstrániť všetky súbory zo staging oblasti naraz.
-
Odstráňte konkrétny súbor zo staging oblasti
git reset [file or folder name]Tento príkaz nám pomáha odstrániť iba konkrétny súbor zo staging oblasti, ktorý nechceme zahrnúť do ďalšieho commitu.
-
Uložte svoju prácu. V tomto bode ste pridali súbory do tzv. staging oblasti. Miesto, kde Git sleduje vaše súbory. Aby ste zmenu urobili trvalou, musíte commitnúť súbory. Na to vytvoríte commit pomocou príkazu
git commit. Commit predstavuje bod uloženia v histórii vášho úložiska. Zadajte nasledujúce na vytvorenie commit:git commit -m "first commit"Tento príkaz commitne všetky vaše súbory, pričom pridá správu "first commit". Pre budúce commit správy budete chcieť byť viac popisní vo svojom popise, aby ste vyjadrili, aký typ zmeny ste urobili.
-
Prepojte svoje lokálne Git úložisko s GitHubom. Git úložisko je dobré na vašom počítači, ale v určitom bode budete chcieť mať zálohu svojich súborov niekde a tiež pozvať ostatných ľudí, aby s vami pracovali na vašom úložisku. Jedným z takých skvelých miest je GitHub. Pamätajte, že sme už vytvorili úložisko na GitHub, takže jediná vec, ktorú musíme urobiť, je prepojiť naše lokálne Git úložisko s GitHubom. Príkaz
git remote addto urobí. Zadajte nasledujúci príkaz:Poznámka, predtým než zadáte príkaz, prejdite na stránku svojho GitHub úložiska, aby ste našli URL úložiska. Použijete ho v nasledujúcom príkaze. Nahraďte
https://github.com/username/repository_name.gitsvojou GitHub URL.git remote add origin https://github.com/username/repository_name.gitTento príkaz vytvorí remote, alebo spojenie, nazvané "origin", ktoré ukazuje na GitHub úložisko, ktoré ste vytvorili skôr.
-
Odošlite lokálne súbory na GitHub. Doteraz ste vytvorili spojenie medzi lokálnym úložiskom a GitHub úložiskom. Pošlite tieto súbory na GitHub pomocou nasledujúceho príkazu
git push, takto:Poznámka, názov vašej vetvy môže byť predvolene odlišný od
main.git push -u origin mainTento príkaz odošle vaše commity vo vetve "main" na GitHub. Nastavenie
upstreamvetvy vrátane-uv príkaze vytvorí prepojenie medzi vašou lokálnou vetvou a vzdialenou vetvou, takže môžete jednoducho používať git push alebo git pull bez špecifikovania názvu vetvy v budúcnosti. Git automaticky použije upstream vetvu a nebudete musieť explicitne špecifikovať názov vetvy v budúcich príkazoch. -
Pridajte ďalšie zmeny. Ak chcete pokračovať v robení zmien a ich odosielaní na GitHub, budete potrebovať použiť nasledujúce tri príkazy:
git add . git commit -m "type your commit message here" git pushTip, Možno budete chcieť pridať súbor
.gitignore, aby ste zabránili tomu, aby sa súbory, ktoré nechcete sledovať, zobrazovali na GitHub - napríklad ten súbor s poznámkami, ktorý uchovávate v rovnakom priečinku, ale nemá miesto vo verejnom úložisku. Šablóny pre súbory.gitignorenájdete na .gitignore templates.
Commit správy
Skvelý predmet commit správy dokončí nasledujúcu vetu: Ak sa použije, tento commit <váš predmet správy tu>
Pre predmet použite imperatív, prítomný čas: "zmeniť" nie "zmenené" ani "zmeny".
Rovnako ako v predmete, aj v tele (voliteľné) použite imperatív, prítomný čas. Telo by malo obsahovať motiváciu pre zmenu a porovnať to s predchádzajúcim správaním. Vysvetľujete prečo, nie ako.
✅ Venujte pár minút prehliadaniu GitHubu. Nájdete naozaj skvelú commit správu? Nájdete naozaj minimálnu? Aké informácie si myslíte, že sú najdôležitejšie a najužitočnejšie na vyjadrenie v commit správe?
Úloha: Spolupracujte
Hlavným dôvodom pre umiestnenie vecí na GitHub bolo umožniť spoluprácu s ostatnými vývojármi.
Práca na projektoch s ostatnými
Pozrite si video
Vo svojom úložisku prejdite na Insights > Community, aby ste videli, ako váš projekt porovnáva s odporúčanými komunitnými štandardmi.
Tu sú niektoré veci, ktoré môžu zlepšiť vaše GitHub úložisko:
- Popis. Pridali ste popis pre svoj projekt?
- README. Pridali ste README? GitHub poskytuje pokyny na písanie README.
- Pravidlá prispievania. Má váš projekt pravidlá prispievania,
- Kódex správania. Kódex správania,
- Licencia. Možno najdôležitejšie, licenciu?
Všetky tieto zdroje budú prospešné pri onboardingu nových členov tímu. A to sú typicky veci, na ktoré sa noví prispievatelia pozerajú predtým, než sa pozrú na váš kód, aby zistili, či je váš projekt správnym miestom, kde by mali tráviť svoj čas.
✅ README súbory, aj keď ich príprava zaberá čas, sú často zanedbávané zaneprázdnenými správcami. Nájdete príklad obzvlášť popisného README? Poznámka: existujú niektoré nástroje na vytváranie dobrých README, ktoré by ste mohli vyskúšať.
Úloha: Spojte kód
Dokumenty o prispievaní pomáhajú ľuďom prispievať do projektu. Vysvetľujú, aké typy príspevkov hľadáte a ako proces funguje. Prispievatelia budú musieť prejsť sériou krokov, aby mohli prispievať do vášho úložiska na GitHub:
- Forkovanie vášho úložiska Pravdepodobne budete chcieť, aby ľudia forkovali váš projekt. Forkovanie znamená vytvorenie repliky vášho úložiska na ich GitHub profile.
- Klonovanie. Odtiaľ si projekt naklonujú na svoj lokálny počítač.
- Vytvorenie vetvy. Budete chcieť, aby si vytvorili vetvu pre svoju prácu.
- Zameranie zmeny na jednu oblasť. Požiadajte prispievateľov, aby sa sústredili na jeden príspevok naraz - tým sa zvýši šanca, že budete môcť spojiť ich prácu. Predstavte si, že napíšu opravu chyby, pridajú novú funkciu a aktualizujú niekoľko testov - čo ak chcete, alebo môžete implementovať iba 2 z 3, alebo 1 z 3 zmien?
✅ Predstavte si situáciu, kde sú vetvy obzvlášť kritické pre písanie a dodávanie dobrého kódu. Aké prípady použitia vás napadajú?
Poznámka, buďte zmenou, ktorú chcete vidieť vo svete, a vytvorte vetvy aj pre svoju vlastnú prácu. Akékoľvek commity, ktoré urobíte, budú urobené na vetve, na ktorej ste aktuálne "checkoutnutí". Použite
git status, aby ste videli, na ktorej vetve sa nachádzate.
Prejdime si pracovný postup prispievateľa. Predpokladajme, že prispievateľ už forkoval a klonoval úložisko, takže má Git úložisko pripravené na prácu na svojom lokálnom počítači:
-
Vytvorenie vetvy. Použite príkaz
git branchna vytvorenie vetvy, ktorá bude obsahovať zmeny, ktoré chcú prispieť:git branch [branch-name] -
Prepnite na pracovnú vetvu. Prepnite na špecifikovanú vetvu a aktualizujte pracovný adresár pomocou
git switch:git switch [branch-name] -
Pracujte. V tomto bode chcete pridať svoje zmeny. Nezabudnite o tom informovať Git pomocou nasledujúcich príkazov:
git add . git commit -m "my changes"Uistite sa, že svoj commit pomenovali dobre, pre svoje dobro, ako aj pre správcu úložiska, ktorému pomáhajú.
-
Spojte svoju prácu s vetvou
main. V určitom bode ste skončili s prácou a chcete spojiť svoju prácu s tou vo vetvemain. Vetvamainsa medzitým mohla zmeniť, takže sa uistite, že ju najskôr aktualizujete na najnovšiu pomocou nasledujúcich príkazov:git switch main git pullV tomto bode sa chcete uistiť, že akékoľvek konflikty, situácie, kde Git nemôže ľahko spojiť zmeny, sa vyskytnú vo vašej pracovnej vetve. Preto spustite nasledujúce príkazy:
git switch [branch_name] git merge mainPríkaz
git merge mainprinesie všetky zmeny zmaindo vašej vetvy. Dúfajme, že môžete jednoducho pokračovať. Ak nie, VS Code vám ukáže, kde je Git zmätený a jednoducho upravíte dotknuté súbory, aby ste určili, ktorý obsah je najpresnejší.Ak chcete prepnúť na inú vetvu, použite moderný príkaz
git switch:git switch [branch_name] -
Odošlite svoju prácu na GitHub. Odoslanie vašej práce na GitHub znamená dve veci. Pushnutie vašej vetvy do vášho úložiska a potom otvorenie PR, Pull Request.
git push --set-upstream origin [branch-name]Vyššie uvedený príkaz vytvorí vetvu vo vašom forkovanom úložisku.
-
Otvorte PR. Ďalej chcete otvoriť PR. Urobíte to tak, že prejdete na forknuté repo na GitHube. Na GitHube uvidíte indikáciu, kde sa vás pýta, či chcete vytvoriť nový PR. Kliknete na to a dostanete sa do rozhrania, kde môžete zmeniť názov správy o commite a pridať vhodnejší popis. Teraz uvidí správca repozitára, ktorý ste forkovali, tento PR a držme palce, že ho ocení a zmerguje váš PR. Teraz ste prispievateľ, hurá :)
-
Upratovanie. Považuje sa za dobrú prax upratať po úspešnom zmergovaní PR. Chcete upratať tak lokálnu vetvu, ako aj vetvu, ktorú ste pushli na GitHub. Najskôr ju lokálne vymažte pomocou nasledujúceho príkazu:
git branch -d [branch-name]Uistite sa, že prejdete na stránku GitHubu pre forknuté repo a odstránite vzdialenú vetvu, ktorú ste práve pushli.
Pull request sa môže zdať ako zvláštny termín, pretože v skutočnosti chcete pushnúť svoje zmeny do projektu. Ale správca (vlastník projektu) alebo hlavný tím musí zvážiť vaše zmeny pred ich zmergovaním do "hlavnej" vetvy projektu, takže v skutočnosti žiadate rozhodnutie o zmene od správcu.
Pull request je miesto, kde môžete porovnať a diskutovať o rozdieloch zavedených vo vetve pomocou recenzií, komentárov, integrovaných testov a ďalších nástrojov. Dobrý pull request dodržiava približne rovnaké pravidlá ako správa o commite. Môžete pridať odkaz na problém v issue trackeri, napríklad keď vaša práca rieši konkrétny problém. To sa robí pomocou # nasledovaného číslom vášho problému. Napríklad #97.
🤞Držme palce, že všetky kontroly prejdú a vlastník(y) projektu zmergujú vaše zmeny do projektu🤞
Aktualizujte svoju aktuálnu lokálnu pracovnú vetvu všetkými novými commitmi z príslušnej vzdialenej vetvy na GitHube:
git pull
Ako prispievať do open source
Najskôr si nájdime repozitár (alebo repo) na GitHube, ktorý vás zaujíma a do ktorého by ste chceli prispieť zmenou. Budete chcieť skopírovať jeho obsah na svoj počítač.
✅ Dobrý spôsob, ako nájsť repozitáre vhodné pre začiatočníkov, je vyhľadávanie podľa tagu 'good-first-issue'.
Existuje niekoľko spôsobov, ako skopírovať kód. Jedným zo spôsobov je "klonovanie" obsahu repozitára pomocou HTTPS, SSH alebo GitHub CLI (Command Line Interface).
Otvorte svoj terminál a klonujte repozitár takto:
git clone https://github.com/ProjectURL
Ak chcete pracovať na projekte, prepnite sa do správneho priečinka:
cd ProjectURL
Celý projekt môžete otvoriť aj pomocou Codespaces, integrovaného editoru kódu / cloudového vývojového prostredia GitHubu, alebo GitHub Desktop.
Nakoniec si môžete stiahnuť kód v zipovanom priečinku.
Niekoľko ďalších zaujímavých vecí o GitHube
Na GitHube môžete "hviezdičkovať", sledovať a/alebo "forkovať" akýkoľvek verejný repozitár. Svoje hviezdičkované repozitáre nájdete v rozbaľovacom menu v pravom hornom rohu. Je to ako záložky, ale pre kód.
Projekty majú issue tracker, väčšinou na GitHube v záložke "Issues", pokiaľ nie je uvedené inak, kde ľudia diskutujú o problémoch súvisiacich s projektom. Záložka Pull Requests je miesto, kde ľudia diskutujú a recenzujú zmeny, ktoré sú v procese.
Projekty môžu mať diskusie vo fórach, mailing listoch alebo chatovacích kanáloch ako Slack, Discord alebo IRC.
✅ Prezrite si svoj nový GitHub repozitár a vyskúšajte niekoľko vecí, ako napríklad úpravu nastavení, pridanie informácií do repozitára a vytvorenie projektu (napríklad Kanban tabuľky). Je toho veľa, čo môžete robiť!
🚀 Výzva
Spojte sa s priateľom a pracujte na kóde jeden druhého. Vytvorte projekt spoločne, forkujte kód, vytvárajte vetvy a zmergujte zmeny.
Kvíz po prednáške
Prehľad a samostatné štúdium
Prečítajte si viac o prispievaní do open source softvéru.
Cvičte, cvičte, cvičte. GitHub má skvelé vzdelávacie cesty dostupné cez skills.github.com:
Nájdete tam aj pokročilejšie kurzy.
Zadanie
Dokončite kurz Prvý týždeň na GitHube
Upozornenie:
Tento dokument bol preložený pomocou služby AI prekladu Co-op Translator. Hoci sa snažíme o presnosť, upozorňujeme, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho rodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nenesieme zodpovednosť za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.



