@brampatelski
$git initGetting started
$git clone user@host:/path1
Super-easy to start
comitting
$git add <filename>$git commit$git push2
No more splitted commits
staging
SVN
GIT
commit
commit
push
3
Offline commits
updating
$git pull4
Update & merge
origin
pull
$svn updateSame as:
$git fetch
$git merge$git clone https://github.com/First8/grails-trek.gitorigin
commit
clone
push
5
On auth
No auth for (local) commits
$git initcommit
push
6
?
origin
$git remote add origin https://github.com/First8/grails-trek.gitOn 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_x8
$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
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/