Laboratorijske vježbe će se predavati preko ovog repozitorija. Svaki student treba napraviti novu granu (branch) i u njoj raditi promjene, prema dobivenom zadatku. Odnosno, koraci koje student treba napraviti su slijedeći:
Korisnički račun ne mora sadržavati ime i prezime studenta (ali može). Ipak, nastavnik treba imati informacije koje povezuju studenta i korisnički račun (radi pregleda vježbi i ocjenjivanja).
Kliknuti na "ljelenkovic" (ili otići na https://sourceforge.net/users/ljelenkovic) i u "About Me" koristiti link "Send me a message" za slanje poruke u koju uključiti podatke:
1. ime_korisnika na sourceforge portalu te
2. ime i prezime studenta.
Pogledati kako dohvatiti kod sa pravima čitanja i pisanja (na stranici projekta->"Code" naći upute kako to skinuti, npr. "Read/Write access: git clone ssh://ljelenkovic@git.code.sf.net/p/oszur12/code oszur12-code
").
$ git clone ssh://(korisnik)@git.code.sf.net/p/oszur12/code oszur12-(korisnik)
(korisnik)
zamijeniti korisničkim imenom.
Postaviti vlastito ime za git (koje će se vidjeti uz izmjene):
$ cd oszur12* $ git config user.name "YOUR NAME" $ git config user.email "USERNAME@users.sourceforge.net"
U kasnijem radu, eventualne naknadne promjene u glavnoj grani dohvaćati (ažurirati lokalnu kopiju repozitorija na računalu s inačicom u glavnom repozitoriju na sourceforge-u) sa:
$ git pull origin master
Osnovna grana sa zadanim kodom naziva se "master
".
Na isti način se mogu ažurirati i ostale grane, navođenjem njihova imena (umjesto "master
"), npr.:
$ git pull origin ime_grane
Svi koriste isti repozitorij, ali svaki u svojoj grani. Obzirom da nema ograničenja u pristupu, svatko bi mogao mijenjati sve. Ipak, sve se akcije (promjene repozitorija) bilježe te u slučaju zlonamjernih akcija lako je otkriti tko je to napravio.
Stvaranje nove grane i njen odabir kao radne može se napraviti sa:
$ git checkout -b ime_grane
Neka ime_grane
bude jednako korisničkom imenu studenta na sourceforge sustavu.
Ako nije automatski odbrana pri stvaranju (kao u prethodnom primjeru), onda ju naknadno odabrati sa:
$ git checkout ime_grane
Prije početka rada, tj. promjena, provjeriti da li se zaista nalazimo u željenoj grani (ako nismo prethodnim naredbama već granu odabrali). Jedan on načina jest naredbom "git status" i provjerom imena grane ("# On branch 'ime_grane"):
$ git status # On branch ime_grane nothing to commit (working directory clean)
Mijenjati po potrebi postojeće datoteke. Dodavati nove (po potrebi) te ih u granu dodati sa:
$ git add ime_datoteke
Promjene potvrditi (može i često!) sa:
$ git commit -a -m "vrlo kratko o promjeni"
Kada se promjene trebaju poslati u repozitorij na sourceforge-u onda pokrenuti:
$ git push origin ime_grane
Ako se želi koristiti neku drugu granu, najprije bi bilo poželjno "pohraniti" dosadašnje promjene sa git commit...
. Odabir druge grane ide sa opcijom checkout
.
$ git checkout ime_druge_grane
Početna grana zove se "master
". NE RADITI PROMJENE u "master
"-u !!!
Uz promjene u kodu koje traži zadani zadatak, u repozitorij staviti i datoteku "promjene.txt" u kojoj vrlo kratko opisati kako je zadatak riješen. Primjerice:
U datotekama 'dat1.x' i 'dat2.x' ostvaren je algoritam X (prema [ref]). Zbog toga su napravljene promjene u načinu ... u datoteci 'dat3.x'.
Datoteku "promjene.txt" postaviti u početni direktorij inkrementa koji je promijenjen (npr. u direktorij Chapter_03_Interrupts/02_Interrupt_handling
).
Repozitorij je javan, što znači da svi mogu sve vidjeti. Obzirom da je broj zadataka ograničen, mnogi studenti će rješavati iste zadatke. To ipak ne znači da će i rješenja biti ista. Rješavanje zadataka zahtijeva dobro poznavanje korištenih elemenata sustava i svako će se "prepisivanje" lako uočiti pri predaji (osim što će se to moći napraviti i preko usporedbe koda).