Versionhallinnan etäkäyttö¶
Tähän asti olemme käyttäneet versiohallintaa vain omalla koneella. Jotta koodi on turvassa kiintolevyn rikkoutumiselta ja jotta sen voi jakaa muille, koodi pitää yleensä viedä etävarastoon (engl. remote repository). Etävarasto voi olla vaikkapa toinen verkossa oleva tietokone, mutta nykyään on yleisempää käyttää jotakin julkista etävarastopalvelua, kuten GitHub- tai GitLab-palveluita. Nämä, kuten monet muut vastaavat Git-etävarastopalvelut tarjoavat myös muita projektihallinnassa hyödyllisiä lisäominaisuuksia, kuten tehtävähallintaa, keskustelupalstoja ja muita yhteistyötä helpottavia työkaluja. Nämä lisätyökalut eivät sinänsä ole Git-työkaluja, mutta ne tekevät etävarastopalveluista monipuolisia yhteistyöalustoja.
Tässä osassa siirrämme paikallisen projektin GitLab- tai GitHub-palveluun. Jyväskylän yliopiston opiskelijoilla on käytössään JY:n oma GitLab-palvelin. Muut opiskelijat voivat ladata koodin esimerkiksi GitHub-palveluun.
Etävaraston luominen¶
Jotta Git-varasto voidaan ladata etävarastopalveluun, palvelussa tulee ensin alustaa etävarasto. Etävarastopalvelut kutsuvat etävarastoja usein myös projekteiksi tarjottujen lisäpalvelujen takia.
Valitse käytettävä etävarastopalvelu:
- Jyväskylän yliopiston opiskelijat: valitse GitLab (JY). Halutessaan voi vaihtoehtoisesti käyttää GitHubia.
- Muussa tapauksessa valitse GitHub.
- Kirjaudu sisään Jyväskylän yliopiston GitLab-palveluun yliopiston
tunnuksilla. Kirjoita tunnus muodossa
tunnusilman@jyu.fi-päätettä. -
Paina oikeassa yläpalkissa olevaa
+-painiketta ja valitse New project/repository: -
Valitse annetuista vaihtoehdoista Create blank project.
-
Täytä projektin tiedot seuraavasti:
-
Project name: Anna projektille nimi, esimerkiksi
TodoFX. - Project URL: Varmista, että
https://gitlab.jyu.fi/-kentän perässä olevassa alasvetovalikossa lukee oma käyttäjätunnus. Jos ei, klikkaa alasvetovalikkoa ja kirjoita tunnus. - Project slug: Sen pitäisi olla automaattisesti projektin nimi ilman
erikoiskirjaimia, esimerkiksi
todofx. - Visibility level: Valitse tässä projektissa Internal tai Public, jotta muut ihmiset pääsevät näkemään projektin koodin. Omissa projekteissa voi valita mielestään sopivan.
- Project configuration: Ota kaikki ruksit pois päältä. Poista valinta erityisesti kohdasta Initialize repository with a README, sillä meillä on jo lokaalisti olemassa oleva projekti.
Lomakkeen pitäisi lopuksi näyttää täältä:
<img src="../images/gitlab-project-form.png">
- Paina lopuksi Create project.
-
Kirjaudu sisään GitHubiin. Jos tunnusta ei ole, luo sellainen.
-
Paina oikeassa yläpalkissa olevaa
+-painiketta ja valitse New repository. -
Täytä etävaraston tiedot seuraavasti:
-
Repository name: Anna projektille nimi, esimerkiksi
TodoFX. - Description: Voit jättää tyhjäksi tai keksiä lyhyen kuvauksen.
- Choose visibility: Valitse tässä tapauksessa Public. Omissa projekteissa voi valita mielestään sopivan.
- Start with template: No template
- Add README: Pois päältä (Off)
- Add .gitignore: No .gitignore
- Add license: No license
Lopuksi lomakkeen pitäisi näyttää täältä:
- Paina lopuksi Create repository.
Etävaraston yhdistäminen lokaaliin projektiin¶
Avaa komentorivi ja siirry projektin juurikansioon. Juurikansio on se kansio,
jossa on src-kansio ja pom.xml-tiedosto. Oikean kansion voi varmistaa
suorittamalla git status -komennon, jolloin pitäisi näkyä git-varaston tila
samalla tavalla kuin osassa 7.3.
Lisäämme seuraavaksi etävaraston osoitteen paikalliseen varastoon. Tätä varten meidän ensin pitäisi tietää git-etävaraston osoite.
-
Mene tekemäsi projektin sivulle. Sivun osoitteen pitäisi olla muotoa
https://gitlab.jyu.fi/tunnus/projektin-nimi. Kaikki projektit löytyvät helposti myös osoitteesta https://gitlab.jyu.fi/dashboard/projects/personal. -
Kopioi git-etävaraston osoite. Klikkaa sinisestä Code-painikkeesta ja kopioi Clone with HTTPS -kentässä oleva osoite:
-
Mene tekemäsi etävaraston sivulle. Sivun osoitteen pitäisi olla muotoa
https://github.com/tunnus/varaston-nimi. Kaikki etävarastot löytyvät helposti myös osoitteesta https://github.com/repos. -
Kopioi git-etävaraston osoite.
Jos etävarasto on tyhjä, osoite näkyy suoraan etävarastosivulla:
Jos taas etävarastossa on jo koodia, osoitteen näkee klikkaamalla vihreästä Code-painikkeesta ja valitsemalla HTTPS-osoitteen:
Kopioi etävaraston osoite ja lisää se paikalliseen varastoon git remote add -komennolla:
git remote add -komento ottaa kaksi parametria: etävaraston nimen ja etävaraston osoitteen.
Sana origin on Git-maailmassa vakiintunut nimitys projektin pääasialliselle etävarastolle.
Koodin lähettäminen etävarastoon ensimmäistä kertaa¶
Voimme nyt lähettää koodin etävarastoon. Ennen koodin lähettämistä meidän tulee vielä selvittää etävaraston käyttäjätunnus ja salasana. Nämä riippuvat palvelusta.
Etävarastoon lähettämisen yhteydessä käyttäjätunnus on aina yliopiston tunnus
ilman @jyu.fi-päätettä. Salasanana toimii yliopiston salasana.
Etävarastoon lähettämisen yhteydessä käyttäjätunnus on oma GitHub-käyttäjätunnus. Salasanaksi ei kelpaa GitHub-salasana, vaan sen sijaan on luotava erillinen pääsyavain (engl. Personal Access Token, PAT):
- Mene osoitteeseen https://github.com/settings/tokens
- Klikkaa Generate new token ja valitse Generate new token (classic).
-
Täytä lomake seuraavasti:
- Note: Anna jokin kuvaava nimi, vaikkapa
git-komentorivi. - Expiration: Valitse jokin pitkä aika tai
No expiration. Huomaa, että aikarajan asettaminen tarkoittaa, että pääsyavain lakkaa toimimasta aikarajan jälkeen, jolloin on luotava uusi avain. - Select scopes: Valitse
repoja varmista, että kaikki sen kohdalla olevat alavalinnat on valittu.
- Note: Anna jokin kuvaava nimi, vaikkapa
-
Paina lopuksi Generate token sivun alapuolella.
- Pääsyavain näkyy vihreässä kentässä. Tämä avain toimii jatkossa salasanana aina, kun koodia lähetetään GitHubiin. Laita tämä koodi talteen.
Kun tunnus ja salasana on tiedossa, projektin voi lähettää ensimmäistä kertaa
etävarastoon käyttäen git push -komentoa:
Tämä komento tekee kaksi asiaa:
pushlähettää paikalliset commitit etävarastoon.-u origin masterlinkittää paikallisenmaster-haaran varastonmaster-haaraan. Tämän avulla Git-työkalu jatkossa tietää, ettägit push-komento ilman parametreja lähettää koodia ainaorigin-etävarastoon.
Huomaa, että ensimmäisen koodin lähettämisen, eli ns. push-komennon yhteydessä, Git-työkalu voi kysyä tunnusta ja salasanaa. Tunnus- ja salasanadialogi eroaa käyttöjärjestelmästä toiseen, mutta periaate on sama: anna yllä olevien ohjeiden mukainen tunnus ja salasana.
Jatkossa¶
Kun etävarasto on kerran määritelty ja ensimmäinen push on tehty, jatkossa työnkulku on yksinkertainen:
- Tee muutoksia koodiin.
git add ., joka lisää muutokset Git-työkalun "käsittelyjonoon".git commit -m "Lisätty muokkausikkuna", joka tekee jonossa olevista muutoksista commitin.git push, joka lähettää kaikki tähän mennessä tehdyt commitit etävarastoon talteen.
Tehtävät¶
Tee työllesi julkinen Git-etävarasto ja tallenna koodisi sinne.




