Systeemityö ja projektityöskentely

Sorakuilu


Git

GitLab on verkkosivusto, joka tarjoaa paikan Git-versionhallintaa käyttäville ohjelmakehitysprojekteille. Gitin lisäksi GitLab tarjoaa projekteille toimintoja kuten bug-trakkeri, kehitystoiveet, tehtävienhallinta ja wiki.

GitLabissa luodaan projekti, joka tarkoittaa samaa kuin GitHubin reposiroty - se on siis varastoja tiedostoille (kansioita).

Gitin toiminta

Toiminta

Gitissä verkokoympäristöstä voi palauttaa työn paikallselle koneelle. Paikallisella koneella työt siirretään ensin paikalliseen valmisteluhakemistoon (push) ja sen jälkeen verkkoympäristöön (commit).

Git tallentaa vain muutokset.

1. GitLab: Luo tunnus GitLabiin

Olet saanut sähköpostiisi kutsun. Klikkaa kutsussa olevaa linkkiä, kuvaruudulle avautuu kirjautumis/rekisteröitymissivu.Voit myös avata sivuston "gitlab.com", jolloin pääset GitLabin esittelysivulle.

Aloitussivu

Valitse välilehti "Register", täytä tietosi ja lähetä lomake. Saat sähköpostiisi vahvistuksen, kun tunnus on käytössä.

Rekisteröitymissivu

2. GitLab: Kirjautuminen GitLabiin

Ennen kirjautumista Sinulla siis tulee olla käyttäjätunnus ympäristöön.

  1. Valitse Sign in
  2. Kirjoita tunnus ja salasanasi ja klikkaa Sign in
  3. GitLab avautuu ruudulle

Kirjautumissivu


3. PAIKALLINEN KONE, SSH-avaimen luonti

Jotta Gitiin voi lähettää tiedostoja, paikallisella koneella on oltava ympäristö (ja SSH-avain turvalliseen siirtämiseen). Vaatimuksena on OpenSSH-asiakasohjelma järjestelmässäsi (on esiasennettuna Linuxissa ja MacOS:ssa, mutta ei Windowsissa). Helpoin tapa toimia Windowsissa on asentaa Git for Windows.

3.1 Git for Windows

Asentaa SSH-asiakasohjelman Git Bash:in, joka käyttää Gitiä komentorivin avulla (ssh-keygen -komento).

Lataa ohjelma

Asenna ohjelma

Ohjelmaa voi käyttää komentoriviltä (Git Bash) tai graafisen käyttöliittymän avulla (Git Gui)

3.2 Identifiointi

Avaa koneellasi Git Bash -sovellus

Aseta ensiksi nimesi ja sähköpostiosoitteesi.

$ git config --global user.name "Minun nimeni"
$ git config --global user.email your.email@domain.com

3.3. Aseta SSH avain

SSH-avain asetetaan erikseen jokaiselta koneelta, jolta haluat repoasi käyttää. Koulun verkkoympäristössä K-levylle tehtynä avain toimii eri paikoissa.

Kirjoita alla oleva koodi Git Bashilla. Oletusasetuksia käytettäessä ohjelmalle ei anneta tiedoston nimeä, vaan painetaan enter-painiketta sitä kysyttäessä.

$ ssh-keygen –t rsa –C "your.email@domain.com"

Lisää sitten halutessasi salasana (ei pakollinen)

4. GitLab, Lisää SSH avain GitLabiin

Avaa äsken luomasi id_rsa.pub -tiedosto (huom. tarkennin) tekstieditoriin ja kopioi se leikepöydälle (kokonaan ja sellaisenaan). Tiedoston lopussa on sähköpostiositteesi.

Kirjaudu GitLabiin, oikean yläkulman kuvakkeen takaa valikosta löydät valinnan Settings ja sen alta SSH keys.

Liitä leikepöydällä oleva avain tekstikenttään, tarkista, että nimi kuvaa konettasi hyvin ja klikkaa "Add key".

Git - tunnus

5. PAIKALLINEN KONE, Testaa

Testaa, onnistuitko: kirjoita työasemassa Git Bashiin:

$ ssh –T git@gitlab.com

Ensimmäisellä kerralla ohjelma varoittaa ecdsa-keyn puuttumisesta ja ehdottaa, vastaa "yes" kysymykseen.

Ohjelma lisää koneesi tunnettujen isäntien joukkooon.

6. GitLab, Luo projekti GitLab -palveluun

  1. Kirjaudu palveluun
  2. Vasemmassa yläreunassa on linkki Projects -välilehteen
  3. Valitse avautuvasta näkymästä painike "New Project"
  4. Ikkunassa voi valita, luoko uuden ja onko uusi projekti kaikkien luettavissa, luoko projektin jonkin mallin mukaan, tuoko ulkopuolisen projektin vai viittaako ulkopuoliseen repositoryyn. Pidä projekti yksityisenä (oletus)
  5. Luo mukaan Readme.md -tiedosto (auttaa tarkistuksissa)
  6. Komento "Create project" luo projektin ja siirryt projektin pääsivulle. Projektisivujen harmaassa yläpalkissa on linkkejä erilaisiin näkymiin, jotka ovat projektin alussa enimmäkseen tyhjiä. Näistä pääset näkemään esimerkiksi projektin sisältämät tiedostot sekä commit-historian tarkkoine muutoksineen.

Git - projektin luominen 1

Git - projektin luominen 2

Git - projektin luominen 3

7. PAIKALLINEN KONE, Kopioi GitLabissa oleva projekti paikalliselle koneelle

  1. Hae GitLabissa oman projektin sivuilta osoite projektiin: Projektin etusivun oikeassa ylälaidassa näkyy painikkeessa sana "Clone", jota klikkaamalla saat SSH-osoitteen projektiisi. Kopioi se leikepöydälle seuraavia vaiheita varten
  2. Avaa Git Bash ja anna komento
    $ git clone git@gitlab.com:käyttäjätunnuksesi/projektinnimi
    Komento kloonaa GitLab.comissa olevan projektin paikalliselle koneelle
  3. Siirry GitBashin komentorivillä kansioon ja listaa tiedostot
    cd projektinnimi
    ls
  4. Jos olet luonut Readme.md-tiedoston, sen pitäisi nyt näkyä listauksessa

8. PAIKALLINEN KONE, muuta tiedostoa ja vie se muutettuna julkiseen repoon

  1. Siirry paikalliseden projektikansioosi
  2. Avaa perustamisen yhteydessä luotu README-tiedosto jollain tekstieditorilla. Kirjoita tiedostoon jotakin ja tallenna se.
  3. Anna Git Bash komentorivillä komento
    git status
    - näet luettelon tiedostoista, joita olet muokannut, tässä tapauksessa README-tiedosto
  4. Anna komento
    $ git commit -am “eka muokkaus”
    Nyt tekemäsi muokkaukset (README-tiedoston muokkaus) ovat paikallisessa projektikansiossasi ( repositoriossa)
  5. Työnnä muutokset verkossa olevaan Githubin repoosi komennolla
    $ git push
  6. Mene Githubin sivulla olevaan repositoriosi näkymään ja päivitä se. README-tiedostoon tekemäsi muokkaukset ovat Githubissa asti

9. Lisää Githubiin tiedostoja ja kansioita: add - commit - push

  1. Siirry Git Bashin avulla repositorion kansioosi.
  2. Luo uusi kansio
    $ mkdir testikansio
  3. Lisää testikansioosi jokin tiedosto
  4. Lisää luomasi kansio versionhallinnoitavaksi antamalla komentoriville komento
    $ git add testikansio
  5. Voit katsoa tilaa komennolla
    $ git status
  6. Anna commit-komento
    $ git commit -am “uusi testitiedosto ja -kansio lisatty”)
  7. Anna push-komento
    $ git push
  8. Tarkista Githubin nettisivulta, että uusi kansiosi ja sen sisältämä tiedosto ilmestyvät repositorionäkymääsi

10. PAIKALLINEN KONE, Kopioi tiedostoja GitHubista koneellesi (pull)

Jos työskentelet useammalla kuin yhdellä koneella, voit versionhallinnan avulla pitää projektin ajan tasalla.

Tiedostojen kopioiminen Githubista koneelle tehdään toisen repositoriokloonikansion avulla.

  1. Luo uudella nimellä (esim. varjoprojekti) toinen klooni repositoriosta antamalla komentorivillä komento
    $ git clone git@gitlab.com:käyttäjätunnuksesi/projektikansio varjoprojekti
  2. Muokkaa alkuperäisessä repossa olevaa tiedostoa README. Anna commit-komento ja push-komento alkuperäisessä projektikloonikansiossasi, jotta äsken tehty muutos päätyy GitLabiin asti.
  3. Siirry luomaasi varjoprojektiin
    cd .. ja tämän jälkeen cd varjoprojekti
    Avaa nyt README-tiedosto tässä uudessa projektissa (repossa), jolloin huomaat että se ei ole muuttunut.
  4. Vedä alkuperäisessä kansiossasi (projektikansio) tekemäsi muutokset varjorepoon Githubista komennolla
    $ git pull

Huomaat, että README-tiedosto päivittyy niiden muutosten mukaan, jotka teit alkuperäisessä kloonissa! Tarkista tämä vielä varjorepossa olevasta README-tiedostosta.

11. GitLab, Henkilön lisääminen projektiin

  1. Valitse GitLabin projektisivun harmaasta yläpalkista "Settings"
  2. Valitse asetussivun valikosta vasemmalta "Members"
  3. Valitse "New project member"
  4. Syötä "People"-kenttään henkilön nimi (tai osa siitä)
  5. Valitse "Project Access tyypiksi "Developer", jos kutsut muita samaa projektia tekeviä, muuten rooli voi olla "Reporter"
  6. Valitse "Add users"