- COMP.CS.300
- 2. Git
- 2.2 Hello Gitlab
Hello Gitlab¶
Tämä tehtävä opastaa sinut koko asennusprosessin läpi, jotta voit palauttaa git-tehtäviä ja ohjelmointi projektit. Mitä odotamme, että olet tehnyt ennen kuin teet palautuksen arvosteltavaksi:
- Etsi projektirepositoriosi Gitlabista
- Kloonaa repositorio omalle tietokoneellesi
- Tallenna SSH avaimesi Gitlabiin
- Tee commit repositorioon
- Työnnä (push) commit Gitlabiin
- Liitä commit hash tehtäväpalautuksen syötteeksi
Yksityiskohtaiset ohjeet
1. Kirjaudu sisään https://course-gitlab.tuni.fi/
Sisäänkirjautuminen vaatii TUNI autentikaation. TUNI isännöi course-gitlab -palvelua, jonka tarkoituksena on helpottaa opintojasi ja tutkimusta.
2. Etsi projektisi
Repositoriosi on: https://course-gitlab.tuni.fi/compcs300-october-YEAR/YOUR_USERNAME Jos et löydä repositoriotasi, ota yhteyttä kurssin henkilökuntaan.
3. Tallenna SSH-avaimesi
Vetäminen (pull) ja työntäminen (push) on helpompaa ja nopeampaa kun olet tallentanut SSH-avaimet course-gitlabiin. SSH-avaimen luontitapa vaihtelee käyttöjärjestelmästä riippuen, mutta aivan ensimmäiseksi suositellaan tarkistamaan, onko SSH-avain jo olemassa. Ohjeita on kaksi, toinen Windowsille ja toinen Mac OS + GNU/Linuxille ja muille UNIX-yhteensopiville järjestelmille. Noudata käyttöjärjestelmääsi vastaavia ohjeita.
Huomaa: ~ viittaa kotihakemistoon käyttöjärjestelmissä.
Jos kaikissa käyttöjärjestelmissä olisi opiskelija nimeltään student,
kotihakemisto olisi
C:\Users\student\ in Windows,
/home/student/ in GNU/Linux and
/Users/student/ in Mac OS.
Kun ssh-avain on luotu, se on piilotetussa kansiossa .ssh kotihakemistossa.
Windows
(suositeltu) Tarkasta, onko ssh-avain jo olemassa
- Avaa Windows PowerShell
- suorita komento Get-Content ~/.ssh/id_rsa.pub
- Jos komento tulostaa jotain, joka alkaa ssh-rsa a ei anna virhettä, ssh-avain on jo olemassa, ja voit nyt kopioida tämän avaimen course-gitlabiin
SSH-avaimen luonti Windowsissa
- Avaa Windows PowerShell
- run command ssh-keygen
- komento kysyy nyt, mihin polkuun avain tulisi tallentaa. Paina vain Enter-näppäintä.
- salasana avaimelle, tällä kertaa on suositeltavaa jättää se tyhjäksi.
- sama salasana vahvistetaan, joten paina Enter-näppäintä uudelleen
- komennon pitäisi ilmoittaa, että avain on tallennettu
- avaimen tulostamiseksi course-gitlabiin kopiointia varten, suorita Get-Content ~/.ssh/id_rsa.pub
- voit nyt kopioida tämän avaimen course-gitlabiin
Mac OS, GNU/Linux ja muut UNIX-yhteensopivat käyttöjärjestelmät (with cat and ssh-keygen)
(suositeltu) Tarkasta, onko ssh-avain jo olemassa
- Avaa terminaali
- suorita komento cat ~/.ssh/id_rsa.pub
- Jos komento tulostaa jotain, joka alkaa ssh-rsa ja ei anna virhettä, ssh-avain on jo olemassa,
ja voit nyt kopioida tämän avaimen course-gitlabiin
Generating ssh-key on Mac OS, GNU/Linux and others
- Avaa terminaali
- suorita komento ssh-keygen
- komento kysyy nyt, mihin polkuun avain tulisi tallentaa. Paina vain Enter-näppäintä.
- salasana avaimelle, tällä kertaa on suositeltavaa jättää se tyhjäksi.
- sama salasana vahvistetaan, joten paina Enter-näppäintä uudelleen
- komennon pitäisi ilmoittaa, että avain on tallennettu
- avaimen tulostamiseksi course-gitlabiin kopiointia varten, suorita cat ~/.ssh/id_rsa.pub
- voit nyt kopioida tämän avaimen course-gitlabiin
Kaikissa käyttöjärjestelmissä: tallenna SSH-avain course-gitlabiin
Tässä yksi esimerkki GNU/Linuxista, kun noudatat ohjeita
student@linux:~$ cat ~/.ssh/id_rsa.pub cat: /home/student/.ssh/id_rsa.pub: No such file or directory student@linux:~$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/student/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/student/.ssh/id_rsa Your public key has been saved in /home/student/.ssh/id_rsa.pub The key fingerprint is: SHA256:MUNoKtafK9W/02VzWdysHrim4EOhKNXEz/v25Chaijc student@linux The key's randomart image is: +---[RSA 3072]----+ | . .. | | =. | | . = o+ o.| | o + . ++ =| | . o o +So . .o| | . . = + . *..| | . . ooo ..= + | | ..E+o.=++ . | | .ooo.++*o | +----[SHA256]-----+ student@linux:~$ cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVixpMZhpjmBuOn5BLS9/mpCUcSLbwgxIP9/r5o01/ KWxvTnWZS1bGTmJN98DEhLzL+7zWnB3+cqWSGrKKU++G9cy0FnLbJYW4Ip/q18Y04g9RHNcIy+tEwrUA uCwsRgU0Eg9DPrvRVUmA04ODhA/PxS7kROEly5ryteQqcOmsqDNAg6LjHXUuxb40MUZeZ9fA3/DOlka+ tJJL6XcZ2GEVtRet4BIuEYcfp3ukr1ItwJ9gecEdAA9t/Xy2Q0KdRFd8OvAU+ZGU4GbL9tI3IxyaQCp1 KTCwV21yPUzYVAd82BEmBKvQKgGBgiyGJJEcekqAAVdHglHVpml+LDPjWF+3VRW3GgT918RyRQ676elv j+NvaHAzh8WpXI61620NwepwFEofCZNkwNCJvGcX2rQcI1m5OJNGnSgpqiKkrvrLffrboOml8GUg/qSE sJ5z6q9114cNX655bytYeY5e/6T7NWtYVRgg2cJZTTw2DuHQVtsRoObCF2wj8OyXf4H2gV8= student@linux
- Kopioi ja liitä vastaava tuloste tietokoneeltasi, alkaen 'ssh-rsa' ja jatka loppuun asti."
- Liitä tänne: https://course-gitlab.tuni.fi/-/profile/keys
- Liitä avain tekstikenttään.
- "Add key" -painike aktivoituu. Paina sitä. Avaimesi on nyt tallennettu. Seuraavana on repositorion kloonaus.
4. Repositorion kloonaaminen paikallisesti
Valitse repositoriollesi hyvä paikka (hakemisto) tietokoneestasi ja kloonaa se sinne:
git clone git@course-gitlab.tuni.fi:compcs300-october-YEAR/YOUR_USERNAME.git
Joissakin viikottaisissa tehtävissä ja projekteissa opiskelijat tekevät commit:n muutoksista repositorioon arvostelua varten.
Tehtävän arviointi tehdään commit:iin liittyvän commit hashin avulla, kuten tässäkin tehtävässä.
Arviointi tehdään git-url:n avulla, kuten tässä tehtävässä.
Normaali proseduuri:
git pull # saadaksesi viimeisimmät muutokset
git commit -m "heapify" -a # -m "viesti, joka yhteenvetää tehdyt muutokset"
# -a kaikille muutoksille, voit myös tehdä commit:n vain joillekin tiedostoille tai hakemistolle
git push # vasta nyt muutokset ovat näkyvissä GitLabissa, ja tehtävä voidaan arvioida
5. Git commit hash:n kopioiminen
Kun olet valmis palauttamaan tehtäväsi, kopioi commit hash:isi plussaan.
Commit hash:n voi kopioida course-gitlab repositoriosta tai terminaalista.
Valitse haluamasi menetelmä ja noudata sen ohjeita (tai molempia, jos haluat oppia lisää gitistä).
Commit hash:n kopioiminen course-gitlab verkkosivulta
Aloita avaamalla repositoriosi verkkosivu. Paina "copy commit SHA" -painiketta kopioidaksesi commit hash:n leikepöydälle.
Jos haluat käyttää vanhempaa commit:ia ja sen commit hash:ia, avaa commit-lista. (Kuvassa painaisit repositorion nimen alla olevaa 42 Commits). Löydät sieltä kaikki commit:it ja niitä vastaavien commit hash:ien "copy commit SHA"-painikkeet.Commit hash:n kopioiminen terminaalista
Git-versionhallinta repositorion hakemistossa, suorita git log
.
Alla olevaa esimerkkiä vastaava listaus tulee näkyviin
student@linux:~/path/to/repository$ git log commit cab9f5b0ae657a321a2af84463ccadc4358dcd16 (HEAD -> main, origin/main, origin/HEAD) Author: Student NameCommit hash:it ovat nyt lueteltuna jokaiselle commit:lle, ja niitä on mahdollista kopioida sieltä.Date: Wed Sep 6 08:47:01 2023 +0300 Good and descriptive commit message commit f8bc013b24fe1caba6aa628517aaf68af47b9775 Author: Student Name Date: Wed Sep 6 08:42:57 2023 +0300 Another good and descriptive commit message commit 13aa92cca8407a2acf7f1ab1edea64e18f412116 Author: Student Name Date: Tue Sep 5 15:30:01 2023 +0300 Another good and descriptive commit message commit 10ef99cd400a02dbbaf2016cf60fe519680c0def Author: Student Name Date: Tue Sep 5 15:26:16 2023 +0300 :
Huom! Voit selata listausta ylös-alas käyttämällä nuolinäppäimiä, ja lopettaa listauksen painamalla q.
Gitin oppimista varten, TUNI tarjoaa itseopiskelukurssin. Jos haluat opintopisteitä git-kurssista,, rekisteröidy COMP.CS.060-kurssille myös Sisussa.
6. Harjoituksen arvosteleminen – ensimmäisen commitin tekeminen
Tällä kurssilla suurin osa arvioinneista on automatisoitu. Harjoitukset, jotka vaativat gitin käyttöä, arvostellaan täällä plussassa. Kun olet työntänyt (push) tekemäsi muutokset repositorioon, kopioi commit hash ja liitä se harjoituksen arvioinnin lonakkeelle syötteeksi. Jos commit hash on kelvollinen, arkistosi arvostellaan, kun painat "Grade my repository" -painiketta. Arviointiprosessi alkaa pian tämän jälkeen. Useimmiten arvostelu tapahtuu muutamassa sekunnissa, mutta joskus monimutkaisemmissa harjoituksissa se voi viedä muutaman minuutin, joten ole kärsivällinen.
Kokeillaan!
Tee commit repositorioon ja työnnä (push) se Gitlabiin:
- Repositorion lokaalissa versiossa, avaa tiedosto
README.md
haluamassasi editorissa - Kirjoita "Hello gitlab" tiedostoon
- Tallenna tiedosto
- Käytä "git add" -komentoa lisääksesi tiedoston gitin esialueelle odottamaan commitia:
git add README.md
- Tee commit lisätäksesi muutokset repositorioon:
git commit -m "my first commit" -a
- Työnnä (push) commit Gitlabiin:
git push
- Kopioi commit hash terminaalista tai course-gitlabista projektisivulta.
- Liitä commit hash allaolevalle lomakkeelle (otsikkoon: "Git commit hash of your submission")
- Paina "Grade my repository" -painiketta lähettääksesi tehtävän arvosteltavaksi.
A+ esittää tässä kohdassa tehtävän palautuslomakkeen.