Git
Pfz Workshopdag, Utrecht, 13-11-2010
dinsdag 16 november 2010
Git
Not subversion, CVS, Perforce and whatever more
Pfz Workshopdag, Utrecht, 13-11-2010
dinsdag 16 november 2010
Stefan wie?
dinsdag 16 november 2010
Stefan wie?
• Freelancer: Ingewikkeld
dinsdag 16 november 2010
Stefan wie?
• Freelancer: Ingewikkeld
• Symfony Community Manager
dinsdag 16 november 2010
Stefan wie?
• Freelancer: Ingewikkeld
• Symfony Community Manager
• PHPBenelux crew
dinsdag 16 november 2010
Versiebeheer
dinsdag 16 november 2010
Versiebeheer
• Wie werkt er met versiebeheer?
dinsdag 16 november 2010
Versiebeheer
• Wie werkt er met versiebeheer?
• Wie werkt er met CVS?
dinsdag 16 november 2010
Versiebeheer
• Wie werkt er met versiebeheer?
• Wie werkt er met CVS?
• Wie werkt er met Subversion?
dinsdag 16 november 2010
Versiebeheer
• Wie werkt er met versiebeheer?
• Wie werkt er met CVS?
• Wie werkt er met Subversion?
• Wie met iets anders? en wat?
dinsdag 16 november 2010
Subversion
dinsdag 16 november 2010
Subversion
• 1 centrale repository
dinsdag 16 november 2010
Subversion
• 1 centrale repository
• ieder een eigen checkout
dinsdag 16 november 2010
Subversion
• 1 centrale repository
• ieder een eigen checkout
• commit = delen met iedereen
dinsdag 16 november 2010
Subversion
• 1 centrale repository
• ieder een eigen checkout
• commit = delen met iedereen
• altijd verbinding met repo-server
dinsdag 16 november 2010
Git
dinsdag 16 november 2010
Git
• DistributedVersion Control System
dinsdag 16 november 2010
Git
• DistributedVersion Control System
• Ieder een eigen repository
dinsdag 16 november 2010
Git
• DistributedVersion Control System
• Ieder een eigen repository
• Committen op je eigen repository
dinsdag 16 november 2010
Git
• DistributedVersion Control System
• Ieder een eigen repository
• Committen op je eigen repository
• Delen: Pushen of pullen
dinsdag 16 november 2010
git init
dinsdag 16 november 2010
git add
dinsdag 16 november 2010
git commit
dinsdag 16 november 2010
git checkout -- <file>
dinsdag 16 november 2010
git reset HEAD <file>
dinsdag 16 november 2010
git status
dinsdag 16 november 2010
dinsdag 16 november 2010
Code delen
dinsdag 16 november 2010
Code delen
• Lokaal committen
dinsdag 16 november 2010
Code delen
• Lokaal committen
• Git clone
dinsdag 16 november 2010
Code delen
• Lokaal committen
• Git clone
• Zip, deel
dinsdag 16 november 2010
Code delen
• Lokaal committen
• Git clone
• Zip, deel
• niet praktisch
dinsdag 16 november 2010
git remote
dinsdag 16 november 2010
git pull
dinsdag 16 november 2010
git fetch
dinsdag 16 november 2010
git push
dinsdag 16 november 2010
Github
dinsdag 16 november 2010
dinsdag 16 november 2010
Branchen
dinsdag 16 november 2010
Branchen
• Subversion
dinsdag 16 november 2010
Branchen
• Subversion
• branch op de server
dinsdag 16 november 2010
Branchen
• Subversion
• branch op de server
• branching is duur
dinsdag 16 november 2010
Branchen
dinsdag 16 november 2010
Branchen
• Git
dinsdag 16 november 2010
Branchen
• Git
• heel goedkoop
dinsdag 16 november 2010
Branchen
• Git
• heel goedkoop
• 1 commando, lokale branch
dinsdag 16 november 2010
Branchen
• Git
• heel goedkoop
• 1 commando, lokale branch
• switchen heel makkelijk
dinsdag 16 november 2010
dinsdag 16 november 2010
Tagging
dinsdag 16 november 2010
Tagging
• Subversion
dinsdag 16 november 2010
Tagging
• Subversion
• Kopie op server
dinsdag 16 november 2010
Tagging
• Subversion
• Kopie op server
• Committen naar tag kan
dinsdag 16 november 2010
Tagging
• Subversion
• Kopie op server
• Committen naar tag kan
• Altijd volledige kopie
dinsdag 16 november 2010
Tagging
dinsdag 16 november 2010
Tagging
• Git
dinsdag 16 november 2010
Tagging
• Git
• lightweight
dinsdag 16 november 2010
Tagging
• Git
• lightweight
• annotated
dinsdag 16 november 2010
Tagging
• Git
• lightweight
• annotated
• lijkt het meest op Subversion
dinsdag 16 november 2010
Annotated
• git tag -a tagnaam -m bladiebla
dinsdag 16 november 2010
Lightweight
• git tag tagnaam
dinsdag 16 november 2010
Submodules
dinsdag 16 november 2010
Submodules
dinsdag 16 november 2010
Submodules
• Subversion
dinsdag 16 november 2010
Submodules
• Subversion
• svn propedit svn:externals
dinsdag 16 november 2010
Submodules
• Subversion
• svn propedit svn:externals
• Git
dinsdag 16 november 2010
Submodules
• Subversion
• svn propedit svn:externals
• Git
• git submodule add <repo> <reponaam>
dinsdag 16 november 2010
git submodule update
dinsdag 16 november 2010
git submodule init
dinsdag 16 november 2010
Tips & Tricks
dinsdag 16 november 2010
Tips & Tricks
• git stash
dinsdag 16 november 2010
Tips & Tricks
• git stash
• git blame
dinsdag 16 november 2010
Tips & Tricks
• git stash
• git blame
• git-svn
dinsdag 16 november 2010
dinsdag 16 november 2010
• http://www.leftontheweb.com/
• https://github.com/skoop
• http://joind.in/2368
dinsdag 16 november 2010

Git Workshop (Pfz Workshopdag)