Git
Na teh vajah ponovimo osnove dela s sistemom git, ki ga boste uporabljali za oddajanje domačih nalog. Za oddajo nalog se prijavite v FRI git s svojo identiteto UL in nastavite ključ SSH, s katerim boste dostopali do svoje shrambe.
Nova shramba
Po navodilih ustvarimo novo shrambo z imenom spo
. Zaenkrat prazno shrambo klonirajte na svoj računalnik:
$ git clone forgejo@git.fri.uni-lj.si:ab1234/spo.git
Cloning into 'spo'...
warning: You appear to have cloned an empty repository.
Pozor: zaradi enotne prijave dostop do shrambe prek HTTP ni možen.
Delo s shrambo
Domače naloge boste hranili v imenikih ass{1,2,3}
. Tukaj si ogledamo, kako v shrambo dodajamo in v njej spreminjamo datoteke.
- V lokalni kopiji projekta
spo
ustvarite imenikvaja1
, vanj pa zapišite nekaj datotek s poljubno vsebino. - Z
git status
preverite stanje lokalne shrambe. - Z
git add
dodajte eno ali več datotek v pripravljalno področje (angl. staging area oz. index). - Z
git commit
vključite pripravljene spremembe v shrambo. - Z
git show
izpišite vsebino zadnje izvedbe (angl. revision oz. commit). Katere informacije vsebuje?
Sinhronizacija
Vse spremembe so zaenkrat le v lokalni shrambi.
- Svoje spremembe z
git push
potisnite v shrambo na strežniku. V tem ukazu smo spustili privzete argumente – kateri so? - Dodajte še nekaj datotek in popravite vsebino obstoječih; kakšno tudi izbrišite z
git rm
. Spremembe postopoma (v več izvedbah) dodajte v lokalno shrambo. - Izpišite zgodovino sprememb z
git log
. Katere veje (angl. branches) pozna lokalna shramba in na katere izvedbe kažejo? Kako izpišemo zgodovino samo za določeno datoteko? Kaj pa za določeno vejo? - Na strežnik potisnite še nove spremembe.
Oznake
Git za označevanje izvedb uporablja vsebinsko naslavljanje: oznaka izvedbe je zgoščena vrednost njene vsebine. To je precej prikladno, a ne najbolj priročno. Izvedbe lahko zato označimo (angl. tag) tudi s krajšim imenom.
- Z
git tag
označite prvo in trenutno izvedbo svojega projekta z oznakamav1
inv2
. - Z
git checkout
obnovite izvedbov1
in si oglejte vsebino datotek. - Obnovite najnovejšo izvedbo. Privzeto je to veja
master
.
★ Deljenje sprememb
Spremembe lahko iz lokalne shrambe izvozimo v obliki popravkov (angl. patches). Naslednjo nalogo naredite v parih.
- Ustvarite lokalno kopijo sosedove shrambe, v njej spremenite vsebino ene datoteke in spremembe vključite v shrambo.
- Z
git format-patch HEAD^
izvozite zadnjo spremembo na trenutni veji. Oglejte si popravek0001-*.patch
in ga pošljite sosedu. - Sosed z
git am
v svoji kopiji shrambe uveljavi predlagane spremembe in jih potisne na strežnik. - Po navodilih nastavite git na svojem računalniku tako, da bo znal pošiljati pošto, in pošljite popravek z
git send-email
.
Zdaj ste pripravljeni na sodelovanje pri projektih, kot sta git in linux!