Gitin käyttö tällä opintojaksolla¶
Tässä materiaaliosiossa esitellään käytännön toimenpiteet, joiden avulla Gitin käyttö onnistuu tällä opintojaksolla.
Kurssilla tärkeitä verkko-osoitteita¶
Jokaiselle kurssille ilmoittautuneelle on muodostetaan kurssin ensimmäisellä viikolla henkilökohtainen Git-keskustietovarasto. Kun tietovarasto luodaan, saat opiskelijasähköpostiisi automaattisen ilmoituksen tietovaraston luomisesta. Jos et ole saanut sähköpostia, vaikka olisi pitänyt, tarkastathan, ettei sitä ole lajiteltu sähköpostiohjelmassasi roskapostiksi.
Saatuasi ilmoitussähköpostin, pystyt käyttämään tietovarastoa kahdella
eri tavalla (seuraavissa kohdissa merkinnän ###
paikalle on korvattava
oma käyttäjätunnus):
Web-selaimella, jolloin web-osoitteeksi (URL) annetaan:
https://course-gitlab.tuni.fi/comp.cs.110-ohj-2_2021-KEVAT/###
Web-käyttöliittymä on tarkoitettu tietovaraston sisällön tutkimiseen ja vaikka se tarjoaa joitain työkaluja esimerkiksi asetusten muuttamiseen, älä tee muutoksia tietovarastoon web-käyttöliittymän kautta. Jos nimittäin et tiedä täsmälleen mitä olet tekemässä, kurssin kannalta kriittiset ominaisuudet saattavat lakata toimimasta. Aivan erityisesti vasemman alakulman
Settings
-valintaa kannattaa vältellä.Sen sijaan esimerkiksi kohdat
Files
,Commits
,Network
jaGraphs
sisältävät mielenkiintoista tietoa. Sitä enemmän, mitä enemmän versionhallintaa käytät.Qt Creatorissa ja Linux-komentorivillä työskenneltäessä käytetään osoitetta:
https://course-gitlab.tuni.fi/comp.cs.110-ohj-2_2021-KEVAT/###.git
Jos kaikki sujuu ongelmitta, tätä osoitetta ei tarvita kuin kaksi kertaa: siinä vaiheessa, kun henkilökohtaisesta keskustietovarastosta muodostetaan etätyöpöydälle paikallinen tietovarasto aivan kurssin alussa, ja ensimmäisellä kerralla, kun palautat ohjelmakoodia automaattisesti arvioitavaksi Plussassa.
Kun Git tai web-selain kysyy edellisissä kohdissa käyttäjätunnusta ja salasanaa, tarkoitus on syöttää oma intranet-tunnus ja -salasana.
Ennen ensimmäistä palautettavaa tehtävää¶
Tässä kohdassa selitetään, mitä alustustoimenpiteitä vaaditaan, jos käytät Gittiä komentoriviltä. Jos sen sijaan käytät Gittiä Qt:n kautta, voit lukea tarvittavat alustoimenpiteet materiaalin luvusta “Vaihtoehto: Gitin käyttö Qt Creatorin kautta” ja sieltä kohta “Alustustoimenpiteet”.
Alustustoimenpiteet komentorivillä¶
Lyhyesti sanottuna tässä kohdassa pitää kloonata Git-repositorio, joka löytyy jommastakummasta linkistä, jotka mainittiin edellä kohdassa Kurssilla tärkeitä verkko-osoitteita. Jos et vielä osaa käyttää komentoriviä, voit tutustua siihen lukemalla materiaalin lopusta, luvusta 14 löytyvän kohdan Komentorivioperaatioita.
Tietyssa url:ssa sijaitseva tietovarasto kloonataan annettuun polkuun komennolla:
git clone <url> <polku>
Voi siis kloonatessa asettaa paikallisen tietovaraston hakemistonimeksi jonkin muun, kuin oletuksena tulevan. Näin voit ylläpitää haluamaasi nimeämisperiaatetta hakemistorakenteessasi. Jos kloonatessa ei anna polkua paramerina, niin hakemisto syntyy työhakemistoosi. Oletuksena syntyvän hakemiston nimi on sama kuin kloonattavan repositorion nimi.
Voit kopioida komennossa tarvitsemasi URLin tietovaraston web-käyttöliittymästä painamalla nappulaa “Clone”:
Jos olet asettanut GitLabiin SSH-avaimesi (ks. sitä käsittelevä materiaali, joka löytyy luvusta 14), voit käyttää SSH-URLia, muuten käytä HTTPS-URLia.
Jos kloonasit repositorion kotihakemistosi alihakemistoon ohj2
,
repositoriosi löytyy hakemistopolulta:
/home/user_id/ohj2/user_id
missä sanan user_id
tilalla on oma käyttäjätunnuksesi.
Jos taas kloonasit repositoriosi suoraan kotihakemistoosi, se löytyy polulta:
/home/user_id/user_id
Joka tapauksessa polulla esiintyy hakemisto user_id
kahteen kertaan,
mutta tämän ei pitäisi tuottaa ongelmia.
Git-komentojen pitäisi toimia ainoastaan alemman tason
user_id
-hakemistossa.
(Jos ne toimivat myös ylemmän tason user_id
-hakemistossa, ota
yhteyttä kurssin henkilökuntaan esimerkiksi lähettämällä sähköpostia
kurssin osoitteeseen prog2@tuni.fi
.)
Lopuksi¶
Kuten edellä kerrottiin, Git-projekti voi sisältää mitä tahansa tiedostoja. Tämän kurssin Git-repositoriosi sisältää kolme alihakemistoa, joissa kaikissa on alihakemistoja, jotka ovat puolestaan Qt Creatorin projekteja. Qt Creator taas olettaa, että projekti on hakemisto, joka sisältää .pro-tiedoston ja C++-lähdekooditiedostoja. Suurissa ohjelmistoprojekteissa yleensä yksi Git-repositorio sisältää yhden Qt-projektin, joten Qt Creator odottaa, että kun Git-repositorio kloonataan, niin kloonattu repositorio sisältäisi .pro-tiedoston, josta Qt Creator voisi automaattisesti avata projektin. Koska kurssin repositoriossa on erilainen rakenne, tuli tässä tilanteessa virheilmoitus, mutta repositorio tuli silti kloonatuksi.
Mahdollisia ongelmatilanteita
Jos sinulla on (ollut) työsuhde Tampereen yliopistolla, voi GitLab:in kirjautumisessa aiheutua ongelma siitä johtuen, että tietojärjestelmässä on sinulle kaksi identiteettiä (opiskelija ja henkilökunta). Tässä tapauksessa ota yhteyttä kurssin sähköpostiosoitteeseen prog2@tuni.fi. Kerro sähköpostissa myös käyttäjätunnuksesi.
Jos kloonaaminen ei onnistu, voit kokeilla ensin kirjautua kertaalleen selaimen kautta tietovarastoosi. Joillakin opiskelijoilla tämä on ratkaissut ongelman.
Huomautus
Yliopiston course-gitlab, jota käytämme, sisältää joitakin rajoitteita normaaliin Gitiin verrattuna. Mm. opiskelijalla ei ole oikeuksia luoda course-gitlabiin omia repositorioitaan, eikä kurssikäyttöön luotuja repositorioita säilytetä kurssin päätyttyä ikuisesti. Palaamme tähän aiheeseen kurssin lopussa, kun Gitin käyttö on jo hallussa.
Jos haluat nyt jo harjoitella omien repositorioiden luomista ja Gitin käyttämistä muutenkin enemmän, kannattaa tutustua vaikkapa GitHubiin.