add-apt-repository ppa:git-core/ppa
http://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
$ git config --global user.name "Marin Crnković"
$ git config --global user.email marin@burza.hr
$ git config --global diff.external ~/diff.py
$ git config --global merge.tool meld
$ git config --global alias.up pull
git up :)
$ ssh-keygen -t rsa
$ git init
$ git init --bare
$ git clone /path/to/repo.git .
$ git clone git@git.burza.hr:burza/repo.git .
$ git status [--short]
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
$ git diff [FILE]
prikazuje diff working copy-a sa onime što je u staging-u
$ git diff master [FILE]
prikazuje diff working copy-a sa masterom
(ili bilo kojim commitom)
$ git diff --staged
prikazuje diff staged-a sa zadnjim commitom
$ git diff BRANCH DRUGI_BRANCH
prikazuje diff između 2 brancha
$ git diff BRANCH...master
promjene na masteru koje su se dogodile od
kad je napravljen BRANCH
$ git checkout FILE
vraća sadržaj file-a iz zadnjeg komita
$ git reset --hard
scary shit
vraća cijeli direktorij na zadnji commit
(zadržava netrackane fileove)
$ git rm --cached FILE
briše file iz repozitorija i prestaje ga trackati,
ali ostavlja u working diru
$ git add FILE
FILE sa sadržajem U TOM TRENUTKU je stagean za commit
$ git reset HEAD FILE
FILE je “unstaged”, neće ići u slijedeći commit
$ git commit -a -m “commitam sve trackane fileove sa -a opcijom, \
i time zaobilazim staging area”
$ git commit -m “Clearfix all the things!!1one”
$ git commit --amend -m “Add clearfix to .Main-Nav
>
> Added clearfix to help with clearing my fix.
> Also, it fixes my clears so .Main-Nav is cleared to be fixed”
commit sa --amend zamijeni commit, koristi se za pisanje smislenijeg commit message-a ili za dodavanje filea ako smo zaboravili
NE KORISTITI na commitovima koje smo već pushali
$ git fetch
$ git merge
OR
$ git pull
$ git remote -v
izlist svih remote-ova
$ git remote add NAME URL
$ git remote rm NAME
$ git push origin master
$ git push --all
push-a sve brancheve
$ git push --tags
push-a sve tagove
$ git push --set-upstream REMOTE BRANCH
dodaje tracking referencu za svaki branch,
omogućuje git pull bez argumenata
(git tada “zna” od kuda da pull-a)
$ git branch [-v]
popis brancheva
$ git branch mc/feature/clearfix
kreiranje brancha
naming convention: initials/type/description
mc/feature/facebook-v2
nd/fix/handpicked-widget
ik/refactor/header-navigation
$ git checkout mc/feature/clearfix
checkoutanje novokreiranog branch-a
$ git checkout -b mc/feature/clearfix
$ git checkout master
$ git merge mc/feature/clearfix
merge brancha "mc/feature/clearfix" u master
--no-ff argument se može koristiti tako da git ne radi
fast forward (update branch pointera), već kreira pravi commit,
čime dobivamo na preglednosti kada okinemo git log
$ git branch -d mc/feature/clearfix
Brisanje brancha