Harjoitustyön pohja vaiheittain¶
Tällä sivulla viedään harjoitustyön pohja versiohallintaan alusta loppuun: teet kurssin pohjaprojektista oman kopion GitLabiin, haet sen koneellesi, kirjoitat suunnitelman, lähetät sen takaisin GitLabiin ja lisäät lopuksi koodipohjan. Kuva näyttää, mitä ruudulla tapahtuu, ja teksti kertoo, mitä sinun pitää tehdä.
Komentojen taustat on selitetty sivulla Versiohallinta ja Git.
Ohjeessa käytetään JY:n GitLabia (gitlab.jyu.fi). Jos sinulla ei ole JY-tunnuksia, tee oma etävarasto GitHubiin, ks. Oman etävaraston luominen.
Oma etävarasto¶
Kirjaudu GitLabiin¶
Avaa Jyväskylän yliopiston GitLab-palvelu (https://gitlab.jyu.fi) ja kirjaudu JYUNET-välilehdellä JY-käyttäjätunnuksellasi ja salasanallasi.
Avaa kurssin pohjaprojekti¶
Kirjoita osoiteriville kurssin pohjaprojektin osoite.
Paina oikeasta yläkulmasta Fork. Fork tekee pohjasta sinulle oman kopion, jossa on valmiina kurssin alkuasetukset.
Valitse kopiolle oma nimesi¶
Fork-lomakkeen Project URL -kohdassa valitaan, kenen alle kopio tulee. Avaa pudotusvalikko ja valitse siitä oma nimesi.
Varoitus
Älä muuta Project slug -kohtaa. Sen pitää olla ohj1ht, muuten
etävarastosi osoite ei ole sama kuin tämän ohjeen esimerkeissä.
Kuvaus, julkinen näkyvyys ja fork¶
Kirjoita projektille lyhyt kuvaus. Valitse näkyvyydeksi Public, jotta ohjaaja näkee työsi. Paina lopuksi Fork project.
Kopioi etävarastosi osoite¶
Oma kopiosi on nyt valmis. Avaa Code-valikko ja kopioi Clone with HTTPS -kohdan osoite. Tarvitset sitä kloonauksessa ja TIMissä.
Huomautus
Valitse HTTPS-osoite, älä SSH-osoitetta. SSH-osoitteella push ei onnistu ilman SSH-avainta.
Kloonaus¶
Windows: avaa Git Bash¶
(macOS:ssä voit ohittaa tämän vaiheen.)
Paina tehtäväpalkin Haku-kenttää, kirjoita git bash ja valitse
hakutuloksista Git Bash. Avautuu komentorivi, jolla annetaan tämän ohjeen
komennot.
Jos Git Bashia ei löydy, asenna ensin Git.
macOS: avaa Pääte¶
(Windowsissa voit ohittaa tämän vaiheen.)
Avaa Dockista Launchpad, kirjoita hakukenttään Pääte (englanninkielisessä
järjestelmässä Terminal) ja avaa Pääte. Linuxissa käytä jakelusi omaa
päätettä, ks. Miten saan Gitin auki.
Kerro Gitille nimesi¶
Anna Git Bashissa (macOS: Päätteessä) nimesi ja sähköpostiosoitteesi. Git liittää ne jokaiseen tekemääsi muutokseen.
git config --global user.name "Olli Opiskelija"
git config --global user.email "olli.o.opiskelija@student.jyu.fi"
Tämä tehdään kerran jokaisella tietokoneella, jolla teet harjoitustyötä.
Tee harjoitustyölle kansio¶
Tee kansio, jossa harjoitustyösi on tällä koneella, ja siirry sinne. Jatkossa kaikki git-komennot annetaan tässä kansiossa.
Huomautus
Jos olet jo aiemmin tehnyt kurssia varten ohj1-kansion (tai
muun itse nimeämäsi kansion) muualle, siirry ensin sinne cd-komennolla ja
tee harjoitustyön kansio vasta sitten. Git Bashissa Windowsin polku
kirjoitetaan kauttaviivoin, esimerkiksi C:\Opiskelu\ohj1 on
/c/Opiskelu/ohj1 (macOS: esimerkiksi ~/kurssit/ohj1):
Muuten tee kansio kotikansiosi alle:
Git Bash aukeaa kotikansioosi (~), joten kansio tulee esimerkiksi polkuun
C:\Users\olli\ohj1\harjoitustyo. Paina sijainti mieleen: tarvitset sitä koko
harjoitustyön ajan.
Kloonaa etävarasto koneellesi¶
Kirjoita git clone, välilyönti ja liitä kopioimasi osoite. Loppuun tulee
vielä välilyönti ja piste: piste tarkoittaa ”tähän kansioon”.
Vinkki
Git Bashissa liittäminen on Shift + Insert, ei Ctrl + V.
Katso, mitä kansioon tuli¶
Komento ls -la listaa kansion sisällön piilotiedostoineen.
.git/on paikallinen varasto: koko muutoshistoria on siellä.suunnitelma/on kansio suunnitelmalle ja sen kuville.check.shtarkistaa, ettei kansion juureen ole eksynyt sinne kuulumattomia tiedostoja..gitignoreluettelee tiedostot, joita ei viedä versiohallintaan.
Suunnitelma¶
Siirrä kuva suunnitelma-kansioon¶
Siirrä tiedostonhallinnassa suunnitelmasi kuva (tai kuvat) kansioon
ohj1/harjoitustyo/suunnitelma. Avaa kuva tuplaklikkaamalla ja varmista, että
se on oikea.
Kuva saa olla enintään 1920 × 1080 pikseliä ja mieluiten alle 1 Mt.
Windows: avaa suunnitelma.md¶
(macOS:ssä voit ohittaa tämän vaiheen.)
Tuplaklikkaa tiedostonhallinnassa suunnitelma.md-tiedostoa. Windows ei
tunnista .md-tiedostoja valmiiksi, joten se kysyy, millä tiedosto avataan:
valitse Muistio ja paina OK. Jos koneellasi on jo Markdown-tiedostoille
editori, esimerkiksi Rider tai Visual Studio Code, tiedosto aukeaa suoraan
siinä, ja sekin käy.
Huomautus
Uusi Muistio voi näyttää tiedoston muotoiltuna, jolloin #-merkit ja
linkkien merkinnät eivät näy. Vaihda silloin näkymäksi Markdown-lähdekoodi
(Näytä-valikosta tai ikkunan oikeasta alakulmasta), jotta näet merkinnät ja
voit kirjoittaa niitä.
macOS: avaa suunnitelma.md¶
(Windowsissa voit ohittaa tämän vaiheen.)
Tuplaklikkaa Finderissa suunnitelma.md-tiedostoa. Se aukeaa TextEditissä.
Varoitus
Ota TextEditissä pois Muokkaa › Korvaukset › Älykkäät lainausmerkit ennen kirjoittamista. Muuten TextEdit muuttaa lainausmerkit kaareviksi (“ ”), eikä kuvalinkki toimi.
Kirjoita suunnitelma¶
Täytä tiedot ja poista kaikki suluissa olevat ohjetekstit. Mitä suunnitelmassa pitää olla, kerrotaan suunnitelman vaatimuksissa. Tallenna tiedosto: Ctrl + S (macOS: Cmd + S).
Linkitä kuva oikein¶
Kuvalinkissä on kolme osaa: hakasulkeisiin kuvaileva teksti, kaarisulkeisiin ensin tiedoston nimi ja sen perään lainausmerkeissä otsikko.
Varoitus
Tiedoston nimen pitää täsmätä kirjain kirjaimelta, myös isot ja pienet kirjaimet. Muuten GitLab ei näytä kuvaa.
Tiedostot GitLabiin¶
Muutosten vieminen paikalliseen varastoon 1 / 2¶
git add --all merkitsee kaikki muutokset mukaan seuraavaan committiin.
Tarkista heti perään git status-komennolla, että mukana on vain se, mitä
pitääkin.
Muutosten vieminen paikalliseen varastoon 2 / 2¶
Commit tallentaa muutokset paikalliseen varastoon. Kirjoita lainausmerkkeihin viesti, josta näkee, mitä muutit.
Avaa GitLabin asetukset¶
GitLabin etävarastoon ei voi lähettää muutoksia ilman tunnistautumista. Jotta GitLab tietää, kuka olet, pitää luoda pääsytunnus (engl. personal access token). Se tehdään GitLabin asetuksissa, jotka löytyvät oikeasta yläkulmasta oman kuvakkeesi alta Preferences.
Avaa Personal access tokens -sivu¶
Valitse vasemmasta valikosta Access › Personal access tokens. Avaa Generate token -valikko ja valitse Legacy token.
Anna tunnukselle nimi ja oikeudet¶
Anna tunnukselle nimi, josta tunnistat koneen, esimerkiksi ohj1-kotikone.
Vaihda Expiration date -kohtaan päivä noin vuoden päähän: oletuksena
tunnus vanhenee jo kuukauden kuluttua. Valitse oikeuksista read_repository
ja write_repository, vieritä lomakkeen loppuun ja paina Generate token.
Kopioi pääsytunnus¶
GitLab näyttää tunnuksen vain tämän kerran. Kopioi se leikepöydälle ja pidä sivu auki, kunnes push on seuraavassa vaiheessa onnistunut.
Tunnusta ei tarvitse tallentaa minnekään: Windowsissa ja macOS:ssä Git muistaa sen tällä koneella ensimmäisen pushin jälkeen (joka tehdään kohta). Jos teet harjoitustyötä myös toisella koneella (tai suljet vahingossa sivun kopioimatta pääsykoodia), joudut luomaan sille oma tunnus samalla tavalla. Jos kone katoaa, poista sen tunnus GitLabin tunnuslistasta (Revoke); muiden koneiden tunnukset toimivat edelleen.
Varoitus
Pääsytunnus on kuin salasana. Älä kirjoita sitä tekstitiedostoon, suunnitelmaan, koodiin tai viestiin.
Lähetä muutokset etävarastoon¶
git push lähettää commitit GitLabiin. Ilman sitä muutokset ovat vain omalla
koneellasi.
Ensimmäisellä kerralla Git kysyy tunnuksia.
- Windows: Git Credential Manager avaa kirjautumisikkunan. Valitse Token ja kirjoita käyttäjätunnuksesi. Pääsytunnusta ei kirjoiteta vaan liitetään: napsauta Personal access token -kenttää hiiren oikealla painikkeella ja valitse Paste (tai paina Ctrl + V). Kenttään tulee pelkkiä pisteitä. Windows muistaa tunnuksen, eikä sitä kysytä uudelleen.
- macOS: kirjautumisikkunaa ei ole, eikä tunnuksen ja salasanan välillä
valita. Pääte kysyy ensin
Username, johon kirjoitat käyttäjätunnuksesi, ja sittenPassword, johon liität äsken tekemäsi pääsytunnuksen (Cmd + V ja Enter). Liitetty tunnus ei näy ruudulla. macOS tallentaa sen avainnippuun, eikä sitä kysytä uudelleen. - Linux: kuten macOS:ssä, mutta Git kysyy tunnukset jokaisella pushilla, ellei tunnusten tallennusta ole otettu käyttöön.
Huomautus
Kun pääsytunnus vanhenee vuoden päästä, push antaa virheen Access denied. Luo silloin uusi tunnus ja vaihda se vanhan tilalle, ks. Push ei onnistu.
Tarkista tulos GitLabista¶
Avaa etävarastosi selaimessa ja siellä suunnitelma-kansio. Commitin viesti
ja kuva näkyvät listassa. Avaa vielä suunnitelma.md ja katso, että kuva
näkyy.
Koodipohja¶
Tee koodipohja Riderissa¶
Valitse Riderissa New Solution ja vasemmalta Custom Templates -kohdasta Fysiikkapeli.
- Solution name: pelisi nimi ilman ääkkösiä, esimerkiksi
PertinSeikkailut - Project name: sama nimi
- Solution directory: kloonattu harjoitustyökansio, eli juuri se kansio,
jonka äsken kloonasit GitLabista, esimerkiksi
C:\Users\olli\ohj1\harjoitustyo
Valitse Put solution and project in the same directory. Harjoitustyössä
on vain yksi projekti, joten solution ja projekti tulevat yhteen kansioon
harjoitustyo/PertinSeikkailut; Rider näyttää sen kentän alla. Demoissa
ruutu jätetään tyhjäksi, koska samaan solutioniin tulee monta projektia, ks.
Uusi solution.
Jätä Create Git repository valitsematta: harjoitustyökansio on jo Git-varasto, eikä sen sisään saa syntyä toista. Paina lopuksi Create.
Kokeile, että pohja käynnistyy¶
Aja ohjelma yläpalkin vihreästä ▶-napista. Vaaleansininen ikkuna tarkoittaa, että pohja toimii. Sulje ikkuna.
Tarkista kansiorakenne¶
Aja pohjan tarkistusskripti Git Bashissa harjoitustyökansiossa.
Juureen saa jäädä vain .gitignore, README.md ja check.sh. Jos skripti
löytää juuresta muita tiedostoja, esimerkiksi .sln-tiedoston, siirrä ne
omaan kansioonsa ennen committia.
Lisää koodipohja ja tarkista tilanne¶
Sama komentojen sarja kuin suunnitelmalle. Käännöksen tulokset (bin- ja
obj-kansiot) jäävät pois .gitignore-tiedoston ansiosta. Katso, että git
status ei näytä bin- tai obj-kansioita. Jos näyttää, joku edeltävä vaihe on
mennyt pieleen, ja pitää tehdä uudestaan.
Vie koodipohja versiohallintaan¶
Kun listassa on vain koodipohjan tiedostot, tallenna ne commitiin ja lähetä GitLabiin.
Osoite TIMiin¶
Tallenna osoite Oma eteneminen -sivulle¶
Liitä etävarastosi HTTPS-osoite TIMin Oma eteneminen -sivulle ja tallenna. Ohjaaja löytää työsi tästä osoitteesta.
Seuraavaksi esittelet suunnitelman ohjaajalle, ks. harjoitustyön vaihe 1.