This is an old revision of the document!
git reset ahead git commit --ammend git rebase git diff git log -f git grep [nešto]
Zanimljivi projekti koji koriste git:
remote u git terminologiji je repozitorij koji je negdje drugdje (u drugom direktoriju ili na mreži)
rsync je ok način za prebacit repozitorij na drugo računao
rebase (tvoj commit stavlja kao zadnji (na vrhu) master brancha)
git fetch origin (povoci sve što je čovjek napravio u međuvremenu)
diff (pogledaj trenutno stanje u odnosu na master)
git log -p
git grep (grepa samo kroz stvari koje su u samom gitu (commitovima); kao grep ali na manjem setu fajlova)
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 (sve squasha u jedan commit)
git patch (slicno ali bez kreiranja novog brancha)
git cherry pick (?)
pre commit ogranicavanje usera
HEAD (teoretski trenutni zadnji commit)
git commit -m “description”
git push
git add . (“.” current directory)
git add *
(Dobrica je kreirao github repozitorij)
git clone https://github.com/username/radiona-git-soup cd radiona-git-soup/ ls git add * git status git commit git log git commit git log git push
— nakon konflikta
git remote add dpavlin https://github.com/dpavlin/radiona-git-soup
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 :)
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! napravili smo sr*nje :)
SHA ovisi i o prošlim commitovima, što znači da ako nešto promjenimo (rebase) mjenjaju se i SHA-ove. To je razlog zasto izbjegavamo rebase ako su i drugi contributory ukljuceni.
git push -f (izvlacenje iz situacije)
primjer f32c
mkdir subodules/ cd sumbodules/ mkdir f32c/ cd f32c/ git init (????) git submodule add https://github.com/f32c/f32c git submodule add https://github.com/f32c/arduino git status (javlja promjene) git commit git sumbodules init git submodules update git submodules foreach git diff
Tags (human readable name za neki commit) Za svaki commit mozemo dati tag koji dohvaćamo isto kao i preko SHA
Dobrica&Davor script. Remove whitespace from end of lines. Kako se koristi?
#!/bin/sh # remove whitespace from end of lines git diff --name-only --cached | while read file ; do egrep '[ ]+$' $file && cat $file | sed 's/[ \r]\+$//g' > $file.new && mv $file.new $file || exit 0 done # CR: