2. Say what?
Source Control Management
like SVN, CVS,.. but better!
Linus Throvalds (april 2005)
Linux Kernel
Junio Hamano (july 2005)
a stupid person!
8. Our Workflow
git checkout -b cool_feature
do some fun code stuff, drink a mojito
git fetch master
git rebase origin/master
git checkout master
git merge cool_feature
9. Useful commands and files
git init ‣ repository setup
git add ‣ add files to queue for next commit
git commit ‣ commit queued files
git push ‣ push commit(s) to remote repository
git pull ‣ fetch changes from remote repository
git clone ‣ clone repository into a local directory
.gitignore ‣ ignore specific files by adding them here
11. Cool features stash
do some cool stuff
git stash
fix an irritating bug
git commit -a -m “Farewell, you bug!”
git stash apply
do some more cool stuff
12. Cool features rebase
fetch changes from another branch
feature commit 3
master commit 1 commit 2 commit 4
13. Cool features rebase
fetch changes from another branch
1234
feature commit 3
master commit 1 commit 2 commit 4
124
14. Cool features bisect
Find the code change that introduced a bug
git bisect start ‣ start bisect session
git bisect bad ‣ mark current revision as bad
git log ‣ search a working revision
git bisect good revision ‣ mark the working one as good
git bisect good/bad ‣ bisect until you find the bug
15. Cool features cherry-pick
Apply a change from another commit into current branch
git log ‣ search the right commit
git checkout branch ‣ checkout the branch you want
git cherry-pick revision ‣ apply commit into branch
17. Git vs SVN
Git SVN
Distributed Single Repository
Branches partial checkout
Performance Access Control
Repository size Shorter revision numbers
Powerful,
more GUI tools
little more complicated
18. git-svn
using git local if you have a remote svn repository
use git on your local machine
staging
seperate commits
branches
push your commits to your svn repository