18 KiB
Johdanto GitHubiin
Tässä oppitunnissa käsitellään GitHubin perusteita, joka on alusta koodin isännöintiin ja muutosten hallintaan.
Sketchnote: Tomomi Imura
Ennakkokysely
Johdanto
Tässä oppitunnissa käsitellään:
- työn seuraamista omalla koneellasi
- projektien tekemistä yhdessä muiden kanssa
- avoimen lähdekoodin ohjelmistojen kehittämistä
Esivaatimukset
Ennen kuin aloitat, tarkista, onko Git asennettu. Kirjoita terminaaliin:
git --version
Jos Git ei ole asennettuna, lataa Git. Sen jälkeen määritä paikallinen Git-profiilisi terminaalissa:
git config --global user.name "your-name"git config --global user.email "your-email"
Voit tarkistaa, onko Git jo määritetty, kirjoittamalla:
git config --list
Tarvitset myös GitHub-tilin, koodieditorin (kuten Visual Studio Code) ja pääsyn terminaaliin (tai komentokehotteeseen).
Siirry osoitteeseen github.com ja luo tili, jos sinulla ei vielä ole sellaista, tai kirjaudu sisään ja täytä profiilisi.
✅ GitHub ei ole ainoa koodivarasto maailmassa; niitä on muitakin, mutta GitHub on tunnetuin.
Valmistelu
Tarvitset sekä koodiprojektin sisältävän kansion paikallisella koneellasi (kannettava tai PC) että julkisen GitHub-repositorion, joka toimii esimerkkinä siitä, miten voit osallistua muiden projekteihin.
Koodin hallinta
Oletetaan, että sinulla on paikallinen kansio, jossa on koodiprojekti, ja haluat alkaa seurata edistymistäsi käyttämällä git-versiohallintajärjestelmää. Jotkut vertaavat gitin käyttöä rakkauskirjeen kirjoittamiseen tulevaisuuden itsellesi. Kun luet commit-viestejäsi päivien, viikkojen tai kuukausien kuluttua, pystyt muistamaan, miksi teit tietyn päätöksen, tai "peruuttaa" muutoksen – kunhan kirjoitat hyviä commit-viestejä.
Tehtävä: Luo repository ja commitoi koodi
Katso video
-
Luo repository GitHubissa. GitHub.com-sivustolla, repositories-välilehdellä tai oikean yläkulman navigointipalkista, etsi new repo -painike.
- Anna repositorylle (kansiolle) nimi.
- Valitse create repository.
-
Siirry työskentelykansioon. Terminaalissa siirry kansioon (tunnetaan myös nimellä hakemisto), jota haluat alkaa seurata. Kirjoita:
cd [name of your folder] -
Alusta git-repository. Projektissasi kirjoita:
git init -
Tarkista tila. Tarkista repositoryn tila kirjoittamalla:
git statustulos voi näyttää tältä:
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.txtTyypillisesti
git status-komento kertoo esimerkiksi, mitkä tiedostot ovat valmiita tallennettavaksi repositoryyn tai sisältävät muutoksia, jotka haluat säilyttää. -
Lisää kaikki tiedostot seurattavaksi
Tätä kutsutaan myös tiedostojen "stagingiksi" eli lisäämiseksi staging-alueelle.git add .git addja.-argumentti tarkoittavat, että kaikki tiedostosi ja muutoksesi lisätään seurattavaksi. -
Lisää valitut tiedostot seurattavaksi
git add [file or folder name]Tämä auttaa lisäämään vain valitut tiedostot staging-alueelle, kun et halua commitata kaikkia tiedostoja kerralla.
-
Poista kaikkien tiedostojen staging
git resetTämä komento auttaa poistamaan kaikkien tiedostojen stagingin kerralla.
-
Poista tietyn tiedoston staging
git reset [file or folder name]Tämä komento auttaa poistamaan vain tietyn tiedoston stagingin, jota et halua sisällyttää seuraavaan commitointiin.
-
Työn tallentaminen. Tässä vaiheessa olet lisännyt tiedostot niin sanotulle staging-alueelle. Paikkaan, jossa Git seuraa tiedostojasi. Muutoksen tekeminen pysyväksi vaatii tiedostojen commitointia. Commitointi luo commitin
git commit-komennolla. Commit edustaa tallennuspistettä repositoryn historiassa. Kirjoita seuraava komento luodaksesi commitin:git commit -m "first commit"Tämä commitoi kaikki tiedostosi ja lisää viestin "first commit". Tulevaisuudessa commit-viestien tulisi olla kuvaavampia, jotta ne välittävät, millaisia muutoksia olet tehnyt.
-
Yhdistä paikallinen Git-repo GitHubiin. Git-repo toimii hyvin koneellasi, mutta jossain vaiheessa haluat varmuuskopioida tiedostosi jonnekin ja kutsua muita ihmisiä työskentelemään kanssasi repositoryssäsi. Yksi hyvä paikka tähän on GitHub. Muista, että olemme jo luoneet repositoryn GitHubissa, joten meidän tarvitsee vain yhdistää paikallinen Git-repo GitHubiin. Komento
git remote addtekee juuri tämän. Kirjoita seuraava komento:Huomaa, ennen kuin kirjoitat komennon, siirry GitHub-repositorysi sivulle löytääksesi repositoryn URL-osoitteen. Käytä sitä alla olevassa komennossa. Korvaa
https://github.com/username/repository_name.gitGitHub-URL-osoitteellasi.git remote add origin https://github.com/username/repository_name.gitTämä luo remoten eli yhteyden nimeltä "origin", joka osoittaa aiemmin luomaasi GitHub-repositoryyn.
-
Lähetä paikalliset tiedostot GitHubiin. Tähän mennessä olet luonut yhteyden paikallisen repositoryn ja GitHub-repositoryn välille. Lähetetään nämä tiedostot GitHubiin seuraavalla komennolla
git push, näin:Huomaa, että haaran nimi voi olla oletuksena eri kuin
main.git push -u origin mainTämä lähettää commitisi "main"-haaraan GitHubiin. Upstream-haaran määrittäminen sisältäen
-ukomennossa luo linkin paikallisen haaran ja etähaaran välille, joten voit käyttää yksinkertaisesti git push- tai git pull -komentoja ilman haaran nimen määrittämistä tulevaisuudessa. Git käyttää automaattisesti upstream-haaraa, eikä sinun tarvitse määrittää haaran nimeä erikseen tulevissa komennoissa. -
Lisää lisää muutoksia. Jos haluat jatkaa muutosten tekemistä ja niiden lähettämistä GitHubiin, sinun tarvitsee vain käyttää seuraavia kolmea komentoa:
git add . git commit -m "type your commit message here" git pushVinkki: Saatat myös haluta ottaa käyttöön
.gitignore-tiedoston estääksesi tiedostojen, joita et halua seurata, näkymisen GitHubissa – kuten muistiinpanotiedoston, jonka säilytät samassa kansiossa, mutta jolla ei ole paikkaa julkisessa repositoryssä. Löydät.gitignore-tiedostojen malleja osoitteesta .gitignore templates.
Commit-viestit
Hyvä Git commit -aiherivi täydentää seuraavan lauseen:
Jos tämä commit toteutetaan, se <aiherivisi tähän>
Käytä aiherivissä imperatiivista, nykyhetken aikamuotoa: "muuta" eikä "muutettu" tai "muuttaa".
Kuten aiherivissä, myös rungossa (valinnainen) käytä imperatiivista, nykyhetken aikamuotoa. Rungon tulisi sisältää muutoksen motivaatio ja verrata sitä aiempaan toimintaan. Selität miksi, et miten.
✅ Käytä muutama minuutti GitHubissa surffaamiseen. Löydätkö todella hyvän commit-viestin? Löydätkö todella minimaalisen? Mitä tietoja mielestäsi on tärkeintä ja hyödyllisintä välittää commit-viestissä?
Tehtävä: Tee yhteistyötä
GitHubiin tiedostojen laittamisen pääsyy oli tehdä yhteistyö muiden kehittäjien kanssa mahdolliseksi.
Työskentely projekteissa muiden kanssa
Katso video
Repositoryssäsi siirry kohtaan Insights > Community nähdäksesi, miten projektisi vertautuu suositeltuihin yhteisön standardeihin.
Tässä on joitain asioita, jotka voivat parantaa GitHub-repositoryäsi:
- Kuvaus. Lisäsitkö projektillesi kuvauksen?
- README. Lisäsitkö README-tiedoston? GitHub tarjoaa ohjeita README:n kirjoittamiseen.
- Ohjeet osallistumiseen. Onko projektillasi ohjeet osallistumiseen?
- Toimintaohjeet. Toimintaohjeet.
- Lisenssi. Ehkä tärkeimpänä, lisenssi.
Kaikki nämä resurssit hyödyttävät uusien tiimin jäsenten perehdyttämistä. Ja nämä ovat tyypillisesti asioita, joita uudet osallistujat tarkastelevat ennen kuin edes katsovat koodiasi, selvittääkseen, onko projektisi oikea paikka heidän ajankäytölleen.
✅ README-tiedostot, vaikka niiden valmistelu vie aikaa, jäävät usein kiireisten ylläpitäjien huomiotta. Löydätkö esimerkin erityisen kuvaavasta README-tiedostosta? Huomaa: on olemassa joitain työkaluja hyvien README-tiedostojen luomiseen, joita saatat haluta kokeilla.
Tehtävä: Yhdistä koodia
Osallistumisohjeet auttavat ihmisiä osallistumaan projektiin. Ne selittävät, millaisia osallistumisia etsit ja miten prosessi toimii. Osallistujien täytyy käydä läpi sarja vaiheita voidakseen osallistua repositoryysi GitHubissa:
- Repositoryn haarauttaminen. Haluat todennäköisesti ihmisten forkkaavan projektisi. Forkkaaminen tarkoittaa repositoryn kopion luomista heidän GitHub-profiiliinsa.
- Kloonaus. Tämän jälkeen he kloonaavat projektin paikalliselle koneelleen.
- Haaran luominen. Pyydä heitä luomaan haara työlleen.
- Keskittyminen yhteen alueeseen. Pyydä osallistujia keskittymään osallistumisessaan yhteen asiaan kerrallaan – näin mahdollisuudet siihen, että voit yhdistää heidän työnsä, ovat suuremmat. Kuvittele, että he korjaavat virheen, lisäävät uuden ominaisuuden ja päivittävät useita testejä – entä jos haluat tai voit toteuttaa vain 2 kolmesta tai 1 kolmesta muutoksesta?
✅ Kuvittele tilanne, jossa haarat ovat erityisen kriittisiä hyvän koodin kirjoittamisessa ja julkaisemisessa. Mitä käyttötapauksia voit keksiä?
Huomaa, ole se muutos, jonka haluat nähdä maailmassa, ja luo haaroja myös omalle työllesi. Kaikki commitit, jotka teet, tehdään haaralle, johon olet tällä hetkellä "checkoutattu". Käytä
git statusnähdäksesi, millä haaralla olet.
Käydään läpi osallistujan työnkulku. Oletetaan, että osallistuja on jo forkannut ja kloonannut repositoryn, joten heillä on Git-repo valmiina työstettäväksi paikallisella koneellaan:
-
Luo haara. Käytä komentoa
git branchluodaksesi haaran, joka sisältää muutokset, joita he aikovat osallistua:git branch [branch-name] -
Vaihda työskentelyhaaraan. Vaihda määritettyyn haaraan ja päivitä työskentelyhakemisto komennolla
git switch:git switch [branch-name] -
Tee työtä. Tässä vaiheessa haluat lisätä muutoksesi. Älä unohda kertoa Gitille niistä seuraavilla komennoilla:
git add . git commit -m "my changes"Varmista, että annat commitillesi hyvän nimen, omaksi hyödyksesi sekä repositoryn ylläpitäjän hyödyksi, jota autat.
-
Yhdistä työsi
main-haaraan. Jossain vaiheessa olet valmis työskentelemään ja haluat yhdistää työsimain-haaraan.main-haara on saattanut muuttua sillä välin, joten varmista, että päivität sen ensin uusimpaan seuraavilla komennoilla:git switch main git pullTässä vaiheessa haluat varmistaa, että mahdolliset konfliktit, tilanteet, joissa Git ei voi helposti yhdistää muutoksia, tapahtuvat työskentelyhaarassasi. Siksi suorita seuraavat komennot:
git switch [branch_name] git merge maingit merge main-komento tuo kaikki muutoksetmain-haarasta haaraasi. Toivottavasti voit jatkaa suoraan. Jos et, VS Code kertoo, missä Git on epävarma, ja muokkaat vain kyseisiä tiedostoja ilmoittaaksesi, mikä sisältö on tarkin.Vaihtaaksesi eri haaraan, käytä modernia
git switch-komentoa:git switch [branch_name] -
Lähetä työsi GitHubiin. Työn lähettäminen GitHubiin tarkoittaa kahta asiaa: haaran työntämistä repositoryysi ja PR:n (Pull Request) avaamista.
git push --set-upstream origin [branch-name]Yllä oleva komento luo haaran forkattuun repositoryysi.
-
Avaa PR. Seuraavaksi haluat avata PR:n. Tämä tapahtuu siirtymällä GitHubissa haarukoituun repoosi. GitHubissa näkyy ilmoitus, jossa kysytään, haluatko luoda uuden PR:n. Klikkaa sitä, ja sinut ohjataan käyttöliittymään, jossa voit muuttaa commit-viestin otsikkoa ja antaa sille sopivamman kuvauksen. Nyt haarukoimasi repositorion ylläpitäjä näkee PR:si ja peukut pystyyn, että he arvostavat ja yhdistävät PR:si. Olet nyt kontribuoija, jee :)
-
Siivoa. On hyvä tapa siivota sen jälkeen, kun PR on onnistuneesti yhdistetty. Haluat siivota sekä paikallisen haaran että GitHubiin työntämäsi haaran. Poistetaan ensin paikallinen haara seuraavalla komennolla:
git branch -d [branch-name]Varmista, että siirryt seuraavaksi GitHub-sivulle haarukoituun repoosi ja poistat juuri sinne työntämäsi etähaaran.
Pull request voi kuulostaa hassulta termiltä, koska oikeasti haluat työntää muutoksesi projektiin. Mutta ylläpitäjän (projektin omistajan) tai ydintiimin täytyy harkita muutoksiasi ennen kuin ne yhdistetään projektin "päähaaraan", joten oikeastaan pyydät ylläpitäjältä päätöstä muutoksesta.
Pull request on paikka, jossa voidaan verrata ja keskustella haaran tuomista eroista arvostelujen, kommenttien, integroitujen testien ja muiden avulla. Hyvä pull request noudattaa suunnilleen samoja sääntöjä kuin commit-viesti. Voit lisätä viittauksen ongelmaan ongelmaseurannassa, esimerkiksi kun työsi korjaa jonkin ongelman. Tämä tehdään käyttämällä #-merkkiä, jota seuraa ongelman numero. Esimerkiksi #97.
🤞Peukut pystyyn, että kaikki tarkistukset menevät läpi ja projektin omistaja(t) yhdistävät muutoksesi projektiin🤞
Päivitä nykyinen paikallinen työhaara kaikilla uusilla commit-viesteillä vastaavasta etähaarasta GitHubissa:
git pull
Kuinka osallistua avoimeen lähdekoodiin
Aloitetaan etsimällä GitHubista repositorio (repo), joka kiinnostaa sinua ja johon haluaisit tehdä muutoksen. Haluat kopioida sen sisällön koneellesi.
✅ Hyvä tapa löytää 'aloittelijaystävällisiä' repoja on etsiä tagilla 'good-first-issue'.
Koodin kopioimiseen on useita tapoja. Yksi tapa on "klonata" repositorion sisältö HTTPS:n, SSH:n tai GitHub CLI:n (Command Line Interface) avulla.
Avaa terminaali ja klonaa repositorio näin:
git clone https://github.com/ProjectURL
Työskentelyä varten siirry oikeaan kansioon:
cd ProjectURL
Voit myös avata koko projektin käyttämällä Codespaces, GitHubin sisäänrakennettua koodieditoria/pilvikehitysympäristöä, tai GitHub Desktop.
Lopuksi voit ladata koodin zip-pakattuna kansiona.
Muutamia mielenkiintoisia asioita GitHubista
Voit tähdittää, seurata ja/tai "haarukoida" mitä tahansa julkista repositoriota GitHubissa. Löydät tähdittämäsi repositoriot oikean yläkulman pudotusvalikosta. Se on kuin kirjanmerkkien lisäämistä, mutta koodille.
Projekteilla on ongelmaseuranta, yleensä GitHubissa "Issues"-välilehdellä, ellei toisin mainita, jossa ihmiset keskustelevat projektin ongelmista. Ja Pull Requests -välilehdellä ihmiset keskustelevat ja arvioivat muutoksia, jotka ovat työn alla.
Projekteilla voi myös olla keskusteluja foorumeilla, sähköpostilistoilla tai chat-kanavilla, kuten Slack, Discord tai IRC.
✅ Tutustu uuteen GitHub-repoosi ja kokeile muutamia asioita, kuten asetusten muokkaamista, tiedon lisäämistä repoosi ja projektin luomista (kuten Kanban-taulu). GitHubissa on paljon mahdollisuuksia!
🚀 Haaste
Työskentele yhdessä ystävän kanssa toistenne koodin parissa. Luo projekti yhteistyössä, haarukoi koodi, luo haaroja ja yhdistä muutoksia.
Luentojälkeinen kysely
Kertaus ja itseopiskelu
Lue lisää osallistumisesta avoimen lähdekoodin ohjelmistoon.
Harjoittele, harjoittele, harjoittele. GitHubilla on loistavia oppimispolkuja saatavilla skills.github.com:
Löydät myös edistyneempiä kursseja.
Tehtävä
Suorita Ensimmäinen viikko GitHubissa -kurssi
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.



