It oan


@brampatelski
$git initGetting started
$git clone user@host:/path

1

Super-easy to start
comitting
$git add <filename>$git commit$git push






2
No more splitted commits
staging

SVN





GIT


commit
commit
push



3


Offline commits
updating
$git pull
4
Update & merge



origin
pull
$svn updateSame as:

$git fetch
$git merge$git clone https://github.com/First8/grails-trek.git



origin

commit

clone
push

5

On auth

No auth for (local) commits
$git init


commit

push

6
?

origin
$git remote add origin https://github.com/First8/grails-trek.git
On auth

Connecting remote later
Push vs. pull


origin

push



origin

pull


10
Controlled commit wo/ password-hassle

clone

clone






commit

commit

Pull requests


origin

pull


rev

dev

pull request



11
Peer review part of process

Github

13
Discussion logged (github)

14
Code explained

12
Code discussed (quality)


stashing
$git stash


$git stash list$git stash apply$git stash pop$git stash dropStash (& remove)
List stash
Apply & remove top stash
Apply top stash
Remove top stash

7
Easy stashing work

branching
$git checkout -b feature_x
8




$git merge feature_xEasy isolated work


master


F1



F2








$git checkout -b F1$git checkout -b F2$git pull$git rebase master$git checkout master$git merge F2$git add .
$git commit -m "merged F2 into master"
$git pushM += F2
F1 += (M + F2)
(M + F2) += F1
branching in detail

9
Advanced branching / merging

branching
$git checkout -b feature_x$git checkout feature_xCreate and switch
Switch to branch
$git branch -d feature_x$git branchList branches
Delete branch
$git branch -D feature_xForce delete branch
$git push origin feature_xPush branch upstream

why master?
master
S1
test
acc
prod















S2
why master?
master
F1
test
acc
prod














Always based on prod
No release dependency

10

12
Feature releases

13
Isolated features to release

11
F2

recap

super easy to start
offline committing
easy update & merge
no authorization nightmare
easy stashing work
easy branching work
advanced branching & merging
peer reviews (pull request)
Github: code ->
- explained
- discussed
- discussion logged
Branching prod:
- isolated features
- no release dependency
- release features io. sprints
- always based on prod
Questions?

Resources:
The simple guide: http://rogerdudler.github.io/git-guide/
The detailed guide: http://git-scm.com/docs/gittutorial
The Atlassian guide: https://www.atlassian.com/git/tutorials/
The cheat sheet: https://training.github.com/kit/downloads/
github-git-cheat-sheet.pdf

If all else fails:
@brampatelski
(Let me Google that for you)
Slides on: http://www.slides.com/brampatelski/
GIT presentation
By Bram Patelski
GIT presentation
- 857