Skip to content
This repository was archived by the owner on Mar 31, 2020. It is now read-only.
almirsarajcic edited this page Dec 7, 2012 · 1 revision

Mislim da nam ovaj git workflow najviše odgovara:
http://scottchacon.com/2011/08/31/github-flow.html

Dakle, imamo samo jedan glavni branch, master.
On će uvijek biti spreman za slanje na server, dakle, ne radimo direktno na njemu, nego za svaku novu stvar pravimo remote brancheve (jednostavno git push origin ime_brancha i sam će se napraviti). Mergeamo pomoću GitHuba, pravimo pull request, onda provjerimo je li sve u redu i onda odobrimo merge.

Ne koristimo fork, nego obojica radimo direktno na glavnom repositoryju. Mislio sam da se mora forkati, a to je ustvari samo za OpenSource projekte gdje drugi nemaju dopuštenja za pisanje u repository.

Preuzimanje repositoryja:
git clone --recursive git@github.com:almirsarajcic/dotaba.git (--recursive zbog submodula)

Dodavanje datoteka za commit:
git add naziv_datoteke naziv_druge_datoteke ili git add .

Commit:
git commit -a -m "Poruka" (ukoliko se izostavi -m opcija otvorit će se editor u kojem se može napisati poruka sa sažetkom, a opcija -a se koristi za dodavanje u commit datoteka koje git već prati, koje su se već pojavljivale u commitovima)

Za dodavanje izmjena u zadnji commit:
git commit --amend (naravno, opet se mogu koristiti opcije -a, -m i sl.)

Za vraćanje na stanje prije zadnjeg commita (sve datoteke će biti u stageu, spremne za commit):
git reset --soft HEAD^ (HEAD^ je pointer na zadnji commit)

Za brisanje zadnjeg commita:
git reset --hard HEAD^ (^^ za zadnja dva, ~3 za tri itd.)

Preuzimanje zadnjih izmjena:
git pull origin develop (pošto ćemo najviše raditi na develop branchu) Problem je što će onda biti puno commit poruka tipa "Merge...", pa je bolje koristiti
git fetch origin develop, zatim
git rebase.
Ukoliko se trebaju riješiti neki "konflikti", onda se trebaju napraviti izmjene nakon navedene komande, dodati izmijenjena datoteka pomoću git add naziv_datoteke, te nastaviti rebase proces pomoću
git rebase --continue

Stvaranje novog brancha:
git branch ime_brancha

Promjena brancha:
git checkout ime_brancha

Kratica za stvaranje i promjenu na novi branch:
git checkout -b ime_brancha

Nakon stvaranja commitova u branchu promjene se trebaju mergati u glavni branch (develop). To se radi pomoću:

git checkout develop
git merge ime_brancha

Opet bi se pojavilo puno "Merge..." commitova, pa je dobro koristiti rebase (prije toga biti u branchu kojeg se želi mergati):

git rebase
git checkout develop
git merge ime_brancha

Za slanje u remote repository koristiti:
git push origin ime_brancha (branch je uglavnom develop, osim ako zajedno radimo na nekom većem feature)

Clone this wiki locally