It oan
@brampatelski
$git init
Getting 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 update
Same 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 drop
Stash (& 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_x
Easy 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 push
M += F2
F1 += (M + F2)
(M + F2) += F1
branching in detail
9
Advanced branching / merging
branching
$git checkout -b feature_x
$git checkout feature_x
Create and switch
Switch to branch
$git branch -d feature_x
$git branch
List branches
Delete branch
$git branch -D feature_x
Force delete branch
$git push origin feature_x
Push 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
- 754