Menu

OSZUR_kratke_upute

Leonardo Jelenkovic

(u izradi !!!)

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:


i) Napraviti korisnički račun na sourceforge sustavu

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).


ii) Zatražiti spajanje na projekt

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.


iii) Pričekati odobrenje (dodavanje u grupu s pravom pristupa)


iv) Dohvatiti kod iz repozitorija

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

v) Napraviti novu granu i u njoj sve raditi

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.


vi) Koristiti odabranu granu za rad

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 !!!


vii) Kratki opis promjena

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).


viii) "Prepisivanje"

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).


Related

Wiki: Home