This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| project:git_basics [2016/06/19 20:36] – dp | project:git_basics [2017/07/19 15:54] (current) – dp | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Git osnove ====== | + | ====== Git osnove ====== |
| + | FIXME | ||
| + | |||
| + | Bilješke s Git radionice [[http:// | ||
| + | |||
| + | < | ||
| git reset ahead | git reset ahead | ||
| git commit --ammend | git commit --ammend | ||
| + | | ||
| + | git rebase | ||
| + | git diff | ||
| + | git log -f | ||
| + | git grep [nešto] | ||
| + | </ | ||
| - | rebase | + | Zanimljivi projekti koji koriste git: |
| - | diff | + | |
| - | log -f | + | |
| - | grep | + | |
| - | etckeepe | + | * etckeeper http:// |
| - | bak-git | + | |
| - | git-annsex | + | * bak-git https:// |
| - | promjene git sprema na razini LINIJA | + | * promjene git sprema na razini |
| - | bilo kakve datoteke/ | + | |
| + | * git je distribuiran, | ||
| + | * preporuča se da promjene budu manje (kako bi se potencijalno mogli iskorisititi i za druge...) | ||
| + | * git je napravljen za kernel developere | ||
| + | * u gitu se mogu raditi svoje naredbe | ||
| + | * gitlab alternativa githubu kad ne zelimo imat javni rep ili ne zelimo platit | ||
| - | git je distribuiran, | + | '' |
| - | preporuča se da promjene budu manje (kako bi se potencijalno mogli iskorisititi | + | '' |
| - | git je napravljen za kernel developere | + | '' |
| - | remote | + | '' |
| - | rsync je ok način za prebacit repozitorij na drugo računao | + | '' |
| - | gitlab alternativa githubu kad ne zelimo imat javni rep ili ne zelimo platit | + | '' |
| - | rebase (tvoj commit | + | '' |
| - | git fetch origin (povoci sve što je čovjek napravio u međuvremenu) | + | '' |
| - | diff (pogledaj trenutno stanje | + | '' |
| - | git log -p | + | '' |
| - | git grep (grepa samo kroz stvari koje su u samom gitu (commitovima); | + | '' |
| - | git grep -i (case insensitive) | + | |
| - | git status | + | '' |
| - | pre commit hook (nešto što se projavi prije comminta pa se može nešto napraviti npr. izbrisati spejsove (davor!)) | + | '' |
| - | git squash | + | '' |
| - | git patch (slicno ali bez kreiranja novog brancha) | + | |
| - | git cherry pick (?) | + | '' |
| - | u gitu se mogu raditi svoje naredbe | + | '' |
| - | pre commit ogranicavanje usera | + | '' |
| - | head (teoretski trenutni zadnji commit) | + | '' |
| - | git commit -m " | + | '' |
| - | git push | + | |
| - | git add . (" | + | '' |
| - | git add * | + | |
| + | '' | ||
| - | ===== primjer ===== | + | '' |
| - | (dobrica je kreirao github repozitorij) | + | |
| - | git clone https:// | + | '' |
| + | |||
| + | '' | ||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | '' | ||
| + | |||
| + | '' | ||
| + | '' | ||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | ===== Primjer grupnog rada ===== | ||
| + | (Dobrica je kreirao github repozitorij) | ||
| + | |||
| + | < | ||
| + | git clone https:// | ||
| cd radiona-git-soup/ | cd radiona-git-soup/ | ||
| ls | ls | ||
| Line 74: | Line 113: | ||
| git log | git log | ||
| git push | git push | ||
| + | </ | ||
| --- nakon konflikta | --- nakon konflikta | ||
| - | git remote add dpavlin https:// | + | '' |
| - | git remote -v (ispisuje sve repozitorije koje mogu koristit lokalno) | + | '' |
| - | git fetch dpavlin (povlači i na disk spremi promjene, ali ih ne apply-a na lokalne fajlove na disku) | + | '' |
| - | git pull dpavlin master (pull?) | + | '' |
| - | git status (kad god je neka nejasnoca) | + | '' |
| - | git rm README (brisanje file) | + | '' |
| - | ls | + | '' |
| - | git diff (ispisivanje razlike između lokalne i remote verzije) | + | '' |
| - | git commit (lokalno primjeniš promjene) | + | '' |
| - | git push (gurni remote) | + | '' |
| - | git log --oneline --graph --decorate (ascii grafovi) | + | '' |
| - | git commit --amend (modificiraj zadnji commit koji si napravio, nadoštukaš :) | + | '' |
| - | git show SHA (hash) (promjene u tom commit-u) | + | '' |
| - | git revert SHA (makne commit) | + | '' |
| - | git rebase | + | '' |
| - | git reset HARD | + | '' |
| (trenutno smo u neobičnoj situaciji :) | (trenutno smo u neobičnoj situaciji :) | ||
| - | git rebase -i (sve komite iza nekog ce otvoriti u editoru) | + | '' |
| - | drop (izbaci pojedini commit) | + | '' |
| otišli smo u povijest i nešto izmjenili. a to nije uredu! | otišli smo u povijest i nešto izmjenili. a to nije uredu! | ||
| - | napravili smo sranje | + | napravili smo sr*nje |
| - | SHA ovisi i o prošlim commitovima, | + | SHA ovisi i o prošlim commitovima, |
| - | git push -f (izvlacenje iz situacije) | + | '' |
| - | ===== merge-anje submodula u jedan ===== | + | ===== Merge-anje submodula u jedan ===== |
| primjer f32c | primjer f32c | ||
| + | < | ||
| mkdir subodules/ | mkdir subodules/ | ||
| cd sumbodules/ | cd sumbodules/ | ||
| mkdir f32c/ | mkdir f32c/ | ||
| cd f32c/ | cd f32c/ | ||
| - | git init (????) | + | git init |
| git submodule add https:// | git submodule add https:// | ||
| git submodule add https:// | git submodule add https:// | ||
| Line 136: | Line 177: | ||
| git submodules update | git submodules update | ||
| git submodules foreach git diff | git submodules foreach git diff | ||
| + | </ | ||
| + | ===== Korištenje tagova ===== | ||
| + | Tags (human readable name za neki commit)\\ | ||
| + | Za svaki commit mozemo dati tag koji dohvaćamo isto kao i preko SHA | ||
| - | tags (human readable name za neki commit) | + | ===== Pre commit |
| - | za svaki commit mozemo dati tag koji dohvaćamo isto kao i preko SHA | + | Dobrica& |
| - | + | < | |
| - | + | ||
| - | + | ||
| - | ===== pre-commit skripta ===== | + | |
| - | Dobrica& | + | |
| - | + | ||
| - | < | + | |
| #!/bin/sh | #!/bin/sh | ||