A tutorial on how to use Git (in Slovene).
Od zdaj najprej govorimo po slovensko. To je gradivo za računalniško delavnico o Git, ki je potekala 28. novembra 2014 na Fakulteti za matematiko in fiziko, Univerza v Ljubljani.
To bomo v živo izvedeli na delavnici.
Na računalnikih v laboratoriju sta že nameščena msysgit in TortoiseGit. Za delo doma pa si namestite naslednjo opremo:
- OSX:
git
je že nameščen - Windows: msysgit, za bolj udobno uporabo pa TortoiseGit
- Linux: namestite si paket
git-client
ali kakorkoli se mu že reče na vaši distribuciji
Dodatno GitHub ponuja tudi svoj grafični vmesnik za delo z git, ki deluje kar dobro. Na voljo je različica za Windows in različica za OSX.
Če uporabljate Eclipse, si namestite plugin EGit. Ta je nameščen tudi na Eclipse v računalniških laboratorijih.
Na delavnici bomo delali z repozitoriji na GitHub, zato si tam ustvarite uporabniški račun, če ga še nimate.
GitHub brezplačno omogoča neomejeno število repozitorijev, vendar so vsi javno dostopni. Če želite uporabljati privatne repozitorije, lahko na GitHub Student Pack, ali pa uporabite BitBucket, ki vam brezplačno omogoča privatne repozitorije z do petimi sodelavci. Zaposleni na FMF imajo dostop do privatnega FMF strežnika, ki ne postavlja nobenih omejitev (in zunanji sodelavci ga lahko uporabljajo, če imajo Google account).
Git uporablja varnostni protokol Secure Shell (ssh) za avtentikacijo. To pomeni, da morate pred uporabo strežnika namestiti SSH ključe na GitHub. To je najbolj zoprn del instalacije, ko pa je enkrat narejena, deluje dobro.
Navodila, kako se namesti SSH ključe najdete v dokumentaciji za GitHub. Na delavnici se bomo skupaj prebili čez postopek.
-
Prijavite se na GitHub.
-
Ustvarite nov repozitorij.
- Izberite ustrezen jezik.
- Izberite ustrezno licenco.
-
Ustvarjeni repozitorij klonirajte na svoj računalnik. Pazite, da boste uporabili protokol SSH, se pravi, naslov repozitorija mora biti oblike
git@github.com:uporabnik/repo.git
in nehttps://github.com/uporabnik/repo.git
. -
V repozitorij dodajte datoteko in vanj nekaj napišite.
-
Naredite
commit
. -
Naredite
push
. -
Datoteka bi se morala pojaviti na strežniku.
-
Pobrišite repozitorij na svojem računalniku.
-
Še enkrat ga klonirajte. Ničesar niste izgubili!
Naredite fork repozitorija andrejbauer/snakes
(gumbek "Fork" zgoraj desno). S tem boste dobili svojo različico repozitorija.
Klonirajte svojo različico repozitorija k sebi, se pravi ustrezni naslov repozitorija
bo git@github.com:uporabnik/snakes.git
kjer uporabnik
ni andrejbauer
.
Igrici dodajte svojo kačo:
-
Izberite ime svoje kače (pomagajte si s tem spiskom), recimo da ste izbrali "Black Adder".
-
Datoteko
bolivianAnaconda.py
prekopirajte vblackAdder.py
(oziroma kakorkoli je že ime vaši kači). -
Popravite
blackAdder.py
in jo ne pozabite dodati v git repozitorij zgit add blackAdder.py
-
Svojo kačo dodajte v spisek kač
SNAKES
v datotekigame.py
. -
Preizkusite igrico, tako da poženete
game.py
.
Ko ste zadovoljni s spremembami, jih dodajte v repozitorij:
git commit -m "opis sprememb" -a
Spremembe pošljite na GitHub:
git push
Izberite različico enega od udeležencev delavnice (glej spisek) in njegove spremembe prenesite k sebi. Denimo, da ste izbrali udeleženca z uporabniškim imenom lolek
:
git remote add lolek git@github.com:lolek/snakes.git
git pull lolek master
Sedaj imate tudi lolek
ove kače!
Svoje spremembe predlagajte za vključitev v glavno različico, ki jo ima uporabnik
andrejbauer
. Na svoji različici naredite pull request (izbira "pull requests" na
menuju na desni, nato gumb "new pull request"). Z nekaj sreče bo Andrej Bauer sprejel vaše
spremembe.
Spremembe, ki jih je naredil Andrej Bauer (sprejel je kopico pull requestov) prenesite v svojo različico:
git remote add upstream git@github.com:HoTT/HoTT.git
git pull upstream master
Sedaj imate kače vseh udeležencev!