ITI0011:git
Tagasi kursuse lehele: ITI0011
Juhend
GIT on versioonihaldustarkvara, mida pruugitakse paljudes tarkvaraettevõtetes dokumentatsiooni ja lähtekoodi haldamiseks.
Põhitegevused versioonihalduses, mida läheb vaja käesolevas aines, on:
- repositooriumi/salve kloonimine (git clone) (esmakordeks salve kopeerimiseks);
- failide lisamine versioonihaldusse (git add);
- muudatuste registreerimine mingis mõistlikus seisus (git commit);
- muudatuste üleslaadimine serverisse (git push) (commit registreerib muutused kohalikus masinas, alles push laeb üles!);
- muudatuste allalaadimine serverist ja kohalike muudatuste integreerimine (git pull).
Lisaks võib vaja minna:
- repositooriumi/salve oleku kuvamist (git status);
- repositooriumi/salve muudatuste ajaloo kuvamist (git log);
- mittevajalike failide kustutamist (git rm);
- ajaloo graafilist kuvamist (gitk).
GIT tarkvara võib kasutada mitmel viisil:
1) Eclipse-st kasutades EGit pluginat. Juhend GIT-i kasutamiseks Eclipse'is: Meedia:Egit-howto.pdf
2) Kasutades GIT tarkvara Git veebilehelt. Git tarkvara tasub oma arvutisse laadida igal juhul, sest Git tarkvara abil on võimalik lihtsa vaevaga kontrollida, mis õnnestus git serverisse laadida. Näiteks, käivitades Windows Exploreris hiire parema nupu alt kontekstitundlikust menüüst Git Gui saate kloonida repositooriumi/salve https://teie-ttu-uni-id-kasutajanimi@git.ttu.ee/kursused/iti0011/teie-ttu-uni-id-kasutajanimi.git (NB! see link brauseris ei tööta!) valitud kataloogi. NB! Uni-ID kasutajanimes peavad olema KÕIK VÄIKESED TÄHED! Seejärel saab kontrollida, kas serverist kloonitud kataloogis on kõik vajalikud failid olemas.
Küsimuste ja probleemide korral kirjutage: git-admin@cs.ttu.ee
Lisainfo GIT raamatust (inglise keeles).
git'i kasutamine aines
Kõik kodused ülesanded tuleb laadida git'i. Koduülesanne peab olema kaustas HW1, HW2, HW3, HW4 vastavalt sellele, mitmenda kodutöö lahendus see on. Koduülesandena võite laadida terve Eclipse'i projekti (HW1/src/pakett/MinuFail.java) või otse (HW1/MinuFail.java).
Kõik tunniülesanded alates 6. nädalast (6. oktoober ja edasi) tuleb samuti laadida git'i. Kaustad prax6, prax7 jne, vastavalt nädalale.
Projekti nime muutmine git'is
Kui oled juba oma koodi üles laadinud vale kausta nimega, siis siin on juhend, kuidas kausta nime muuta läbi Eclipse'i. Juhend eeldab, et tudeng on laadinud esimese kodutöö üles kausta "TicTacToe". Oleks vaja laadida aga "HW1".
Kui teha projektile "rename", siis projekti nimi eclipse'is muutub ära, aga kausta nimi, milles projekt füüsiliselt on, jääb samaks. See kaust peaks asuma kasutaja "git" kaustas (windowsis c:\Users\kasutaja\git\eesnimi.perenimi näiteks).
Ilus ja eelistatud viis, kuidas projekti/kausta nime muuta (saate teha Git Bash'ist): http://stackoverflow.com/a/11183844/122128 Hiljem peate projekti uuesti importima.
Saab ka sedasi (aga see sisuliselt kustutab vana kausta maha ja lisab uue, eelmine meetod muudab kausta nime git'is):
- projekti peal parem klikk -> Refactor -> Move ...
- nüüd tuleks ära muuta projekti kausta nimi (näiteks kui enne oli "TicTacToe", siis panna "HW1"; pikalt siis: c:\users\ago\git\ago.luberg\TicTacToe => c:\users\ago\git\ago.luberg\HW1)
- igaks juhuks võib projekti nime ka ära muuta (kuigi minu teada see git'i ei mõjuta - lihtsalt endal on pilt selgem). parem klikk projekti peal -> Refactor -> Rename (muuta siis ka "HW1"-ks).
- projekti peal parem klikk -> Team -> Commit
- avanevas aknas ta peaks näitama osade failide kohta "+" märki (need, mis on nüüd uues "HW1" kaustas) ja osade kohta halli "x" märki (need, mis olid vanas "TicTacToe" kaustas). Kõik x-märgiga failid tuleks ära märkida - siis need kustutavad gitist ära. Ja kõik vajalikud "+" märgiga failid tuleks ära märgistada - need lähevad giti üles.
- seejärel tavaline Team -> Push to Upstream
5. sammu puhul võib põhimõtteliselt ka "x" märgitustega failid märkimata jätta. Sellisel juhul neid faile gitist ei kustutata. Peamine on, et "HW1" kaust saab lisatud.
Kursuse kood
Loengute ja praktikumide koodid: https://git.ttu.ee/kursused/iti0011/materjalid.git (veebist pole kättesaadav, saate tõmmata alla kasutades UNI ID-d).
Saate kasutada üleval toodud juhendit, et see salv endale Eclipse'i projektiks importida. Kasutate sama kasutajanime/parooli, mis enda salve jaoks.
Antud salv sisaldab eclipse'i projekti. Loengute kood on näiteks kaustas src/week11/loeng/