Git



2Value, Haarlem, 14-12-2010
woensdag 15 december 2010
Git
                    Not subversion, CVS, Perforce and whatever more




2Value, Haarlem, 14-12-2010
woensdag 15 december 2010
Stefan wie?




woensdag 15 december 2010
Stefan wie?

                  • Freelancer: Ingewikkeld




woensdag 15 december 2010
Stefan wie?

                  • Freelancer: Ingewikkeld
                  • Symfony Community Manager



woensdag 15 december 2010
Stefan wie?

                  • Freelancer: Ingewikkeld
                  • Symfony Community Manager
                  • PHPBenelux crew


woensdag 15 december 2010
Versiebeheer




woensdag 15 december 2010
Versiebeheer

                  • Wie werkt(e) er met versiebeheer?




woensdag 15 december 2010
Versiebeheer

                  • Wie werkt(e) er met versiebeheer?
                  • Wie werkt(e) er met CVS?



woensdag 15 december 2010
Versiebeheer

                  • Wie werkt(e) er met versiebeheer?
                  • Wie werkt(e) er met CVS?
                  • Wie werkt(e) er met Subversion?


woensdag 15 december 2010
Versiebeheer

                  • Wie werkt(e) er met versiebeheer?
                  • Wie werkt(e) er met CVS?
                  • Wie werkt(e) er met Subversion?
                  • Wie met iets anders? en wat?

woensdag 15 december 2010
Subversion




woensdag 15 december 2010
Subversion

                        • 1 centrale repository




woensdag 15 december 2010
Subversion

                        • 1 centrale repository
                        • ieder een eigen checkout



woensdag 15 december 2010
Subversion

                        • 1 centrale repository
                        • ieder een eigen checkout
                        • commit = delen met iedereen


woensdag 15 december 2010
Subversion

                        • 1 centrale repository
                        • ieder een eigen checkout
                        • commit = delen met iedereen
                        • altijd verbinding met repo-server

woensdag 15 december 2010
Subversion
                                  Server
                                  Repository




               Checkout     Checkout     Checkout   Checkout




woensdag 15 december 2010
Git




woensdag 15 december 2010
Git

                  • Distributed Version Control System




woensdag 15 december 2010
Git

                  • Distributed Version Control System
                  • Ieder een eigen repository



woensdag 15 december 2010
Git

                  • Distributed Version Control System
                  • Ieder een eigen repository
                  • Committen op je eigen repository


woensdag 15 december 2010
Git

                  • Distributed Version Control System
                  • Ieder een eigen repository
                  • Committen op je eigen repository
                  • Delen: Pushen of pullen

woensdag 15 december 2010
Git

                     repository    repository      repository



               Checkout           Checkout       Checkout


               Checkout           Checkout       Checkout
                     repository     repository     repository




woensdag 15 december 2010
Git

                     repository    repository      repository



               Checkout           Checkout       Checkout


               Checkout           Checkout       Checkout
                     repository     repository     repository




woensdag 15 december 2010
Git

                     repository    repository      repository



               Checkout           Checkout       Checkout


               Checkout           Checkout       Checkout
                     repository     repository     repository




woensdag 15 december 2010
git init



woensdag 15 december 2010
git add



woensdag 15 december 2010
git commit



woensdag 15 december 2010
git checkout -- <file>



woensdag 15 december 2010
git reset HEAD <file>



woensdag 15 december 2010
git status



woensdag 15 december 2010
woensdag 15 december 2010
Code delen




woensdag 15 december 2010
Code delen

                  • Lokaal committen




woensdag 15 december 2010
Code delen

                  • Lokaal committen
                  • Git clone



woensdag 15 december 2010
Code delen

                  • Lokaal committen
                  • Git clone
                  • Zip, deel


woensdag 15 december 2010
Code delen

                  • Lokaal committen
                  • Git clone
                  • Zip, deel
                   • niet praktisch

woensdag 15 december 2010
git remote



woensdag 15 december 2010
git pull



woensdag 15 december 2010
git fetch



woensdag 15 december 2010
git push



woensdag 15 december 2010
Github



woensdag 15 december 2010
woensdag 15 december 2010
Branchen




woensdag 15 december 2010
Branchen

                  • Subversion




woensdag 15 december 2010
Branchen

                  • Subversion
                   • branch op de server



woensdag 15 december 2010
Branchen

                  • Subversion
                   • branch op de server
                   • branching is duur


woensdag 15 december 2010
Branchen




woensdag 15 december 2010
Branchen

                  • Git




woensdag 15 december 2010
Branchen

                  • Git
                   • heel goedkoop



woensdag 15 december 2010
Branchen

                  • Git
                   • heel goedkoop
                   • 1 commando, lokale branch


woensdag 15 december 2010
Branchen

                  • Git
                   • heel goedkoop
                   • 1 commando, lokale branch
                   • switchen heel makkelijk

woensdag 15 december 2010
woensdag 15 december 2010
Tagging




woensdag 15 december 2010
Tagging

                  • Subversion




woensdag 15 december 2010
Tagging

                  • Subversion
                   • Op server



woensdag 15 december 2010
Tagging

                  • Subversion
                   • Op server
                   • Committen naar tag kan


woensdag 15 december 2010
Tagging




woensdag 15 december 2010
Tagging

                  • Git




woensdag 15 december 2010
Tagging

                  • Git
                   • lightweight



woensdag 15 december 2010
Tagging

                  • Git
                   • lightweight
                   • annotated


woensdag 15 december 2010
Tagging

                  • Git
                   • lightweight
                   • annotated
                     • lijkt het meest op Subversion

woensdag 15 december 2010
Annotated


                  • git tag -a tagnaam -m bladiebla



woensdag 15 december 2010
Lightweight


                  • git tag tagnaam



woensdag 15 december 2010
Submodules



woensdag 15 december 2010
Submodules




woensdag 15 december 2010
Submodules

                  • Subversion




woensdag 15 december 2010
Submodules

                  • Subversion
                   • svn propedit svn:externals



woensdag 15 december 2010
Submodules

                  • Subversion
                   • svn propedit svn:externals
                  • Git


woensdag 15 december 2010
Submodules

                  • Subversion
                   • svn propedit svn:externals
                  • Git
                   • git submodule add <repo> <reponaam>

woensdag 15 december 2010
git submodule update



woensdag 15 december 2010
git submodule init



woensdag 15 december 2010
Tips & Tricks




woensdag 15 december 2010
Tips & Tricks

                  • git stash




woensdag 15 december 2010
Tips & Tricks

                  • git stash
                  • git blame



woensdag 15 december 2010
Tips & Tricks

                  • git stash
                  • git blame
                  • git-svn


woensdag 15 december 2010
Oefening



woensdag 15 december 2010
woensdag 15 december 2010
• http://www.leftontheweb.com/
                  • https://github.com/skoop


woensdag 15 december 2010

Git workshop (2value, 14-12-2010)