SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
git for the win!
2015 - Denver Sessink
git != GTI
Wat gaan we bespreken?
● Wat en waarom?
● Verschillende VCS systemen
● Git basics en gedachtengang
● Git branching / merging
● Onze werkwijze
Waarom
versiebeheer….
Ooit een wijziging in code terug willen draaien?
Ooit code verloren of een back-up gehad die te oud was?
Hoe gaan we meerdere versies van een product handhaven?
Ooit het verschil willen zien tussen twee code files?
En met 2+ programmeurs tegelijk aan hetzelfde project werken?
Wat?
VCS (Version Control System)
Wijzigingen bijhouden in een logboek
Werkt het beste voor tekstfiles (code!)
Distributed vs Centralized
Centralized
Subversion
Distributed
Git
Distributed vs Centralized
Wat is Git?
Git is een distributed version control (dvcs) en
source code management (scm) systeem,
gericht op snelheid, data integriteit en niet-
lineaire workflows.
Wat is Git?
Git is...
● Snel!
● Simpel (in de basis :p)
● Stabiel en robuust (easy 1000+ branches)
● SFully distributed
○ Volledige lokale repository
○ Offline commits
git is dus toch een beetje GTI ;-)
Maar...
● Alle gecommitte bestanden blijven altijd in
IEDERE clone!
● Git kent geen lege mappen
● Zonder genoeg basiskennis is kan het een
b*tch zijn
Iets de diepte in...
… please!
Termen...
Workspace
Working directory
Clone
Index
Repository
Branche
Commit
Pull
Push
Merge
….
In commando’s...
~ mkdir projectmapje
~ cd projectmapje
~ git init
// lekker index.php maken en code typen
~ git add index.php
~ git commit -m “Eerste versie homepage gemaakt”
~ git push
In commando’s...
~ cd projectmapje-met-git
~ git pull
// lekker index.php wijzigen
~ git commit -m “Tweede versie homepage gemaakt”
~ git pull
~ git push
Branches...
aftakkingen dus
Master vs develop
Git heeft altijd tenminste 1 branche: master
Wij gebruiken altijd twee branches:
1. master → voor live-omgeving
2. develop → voor acceptatie-omgeving
Wijziging doen in feature branch...
~ cd projectmapje-met-git
~ git pull
~ git branch -b feature/nieuwe-modelpagina-208
~ git checkout feature/nieuwe-modelpagina-208
// lekker nieuwe modelpagina.html maken
~ git add modelpagina.html
~ git commit -m “Nieuwe modelpagina van de 208”
Wijziging op acceptatie zetten...
~ cd projectmapje-met-git-feature
// dus de map met die nieuwe modelpagina.html
~ git checkout develop
~ git merge feature/nieuwe-modelpagina-208
~ git push origin develop
Onze werkwijze
Git + Cloud + Deployments
Git + Cloud + Deployments
Ieder project een eigen git repository
Git repositories in de cloud bij Beanstalk
Iedereen heeft Beanstalk als remote (of origin)
Iedereen pusht uiteindelijk naar Beanstalk
Beanstalk kan branch-specifiek deployen
Git + Cloud + Deployments
Beanstalk Hostingplatform
Laptop Karel (clone)
git push
Laptop Kees (clone)
git push
deployment
Demo time!
command-line uiteraard :-p
Tools
Windows
Git installeren
Git Bash
PHPStorm
SourceTree
Mac
Git standaard
Command-line
PHPStorm
SourceTree
Best practices
1. Commit Related Changes
2. Commit Often
3. Don’t Commit Half-Done Work
4. Test Before You Commit
5. Write Good Commit Messages
6. Use Branches
7. Agree on a Workflow
Bron en uitleg: http://www.git-tower.com/learn/ebook/command-line/appendix/best-practices
Interessante links
● https://try.github.io/levels/1/challenges/1
● http://nvie.com/posts/a-successful-git-branching-model/
● http://git-scm.com/book/en/v2
● http://www.git-tower.com/learn/ebook/command-
line/appendix/best-practices
Vragen?

Contenu connexe

Similaire à Git for the win!

Gijs Kootjes (TNO) - Tech update Big Datsa Visualisatie
Gijs Kootjes (TNO) - Tech update Big Datsa VisualisatieGijs Kootjes (TNO) - Tech update Big Datsa Visualisatie
Gijs Kootjes (TNO) - Tech update Big Datsa Visualisatie
Media Perspectives
 

Similaire à Git for the win! (20)

Trello, git, gitlab, gitlab-ci
Trello, git, gitlab, gitlab-ciTrello, git, gitlab, gitlab-ci
Trello, git, gitlab, gitlab-ci
 
Webinar overstap van DevOps naar GitHub.pdf
Webinar overstap van DevOps naar GitHub.pdfWebinar overstap van DevOps naar GitHub.pdf
Webinar overstap van DevOps naar GitHub.pdf
 
Meetup ASP.NET 5 19/11/2015
Meetup ASP.NET 5 19/11/2015Meetup ASP.NET 5 19/11/2015
Meetup ASP.NET 5 19/11/2015
 
DSD-NL 2022 D-HYDRO Suite 1D2D, stand van zaken en vooruitblik - Verhoeven - ...
DSD-NL 2022 D-HYDRO Suite 1D2D, stand van zaken en vooruitblik - Verhoeven - ...DSD-NL 2022 D-HYDRO Suite 1D2D, stand van zaken en vooruitblik - Verhoeven - ...
DSD-NL 2022 D-HYDRO Suite 1D2D, stand van zaken en vooruitblik - Verhoeven - ...
 
Web applicatie van scratch
Web applicatie van scratchWeb applicatie van scratch
Web applicatie van scratch
 
JavaLand 2017 - Pipeline as code
JavaLand 2017 - Pipeline as codeJavaLand 2017 - Pipeline as code
JavaLand 2017 - Pipeline as code
 
Robot framework en ci v2
Robot framework en ci v2Robot framework en ci v2
Robot framework en ci v2
 
Willem van de Wetering - Master template Grip: Synchronisatie binnen Rijkswat...
Willem van de Wetering - Master template Grip: Synchronisatie binnen Rijkswat...Willem van de Wetering - Master template Grip: Synchronisatie binnen Rijkswat...
Willem van de Wetering - Master template Grip: Synchronisatie binnen Rijkswat...
 
V-ICT-OR SHOPT IT 2014
V-ICT-OR SHOPT IT 2014V-ICT-OR SHOPT IT 2014
V-ICT-OR SHOPT IT 2014
 
Introduction to VCS
Introduction to VCSIntroduction to VCS
Introduction to VCS
 
Large assy's in Autodesk Inventor
Large assy's in Autodesk InventorLarge assy's in Autodesk Inventor
Large assy's in Autodesk Inventor
 
New features cognos10.2
New features cognos10.2New features cognos10.2
New features cognos10.2
 
Gijs Kootjes (TNO) - Tech update Big Datsa Visualisatie
Gijs Kootjes (TNO) - Tech update Big Datsa VisualisatieGijs Kootjes (TNO) - Tech update Big Datsa Visualisatie
Gijs Kootjes (TNO) - Tech update Big Datsa Visualisatie
 
Gijs Koot (TNO) @ Technology Update Big Data Visualisatie - techniek in vogel...
Gijs Koot (TNO) @ Technology Update Big Data Visualisatie - techniek in vogel...Gijs Koot (TNO) @ Technology Update Big Data Visualisatie - techniek in vogel...
Gijs Koot (TNO) @ Technology Update Big Data Visualisatie - techniek in vogel...
 
Continuous delivery met jenkins twist en puppet
Continuous delivery met jenkins twist en puppetContinuous delivery met jenkins twist en puppet
Continuous delivery met jenkins twist en puppet
 
Profiel thymos rudi respen
Profiel thymos   rudi respenProfiel thymos   rudi respen
Profiel thymos rudi respen
 
Booosting 24sept13 bim dutch revit standards mark wieringa cepezed
Booosting 24sept13 bim dutch revit standards   mark wieringa cepezedBooosting 24sept13 bim dutch revit standards   mark wieringa cepezed
Booosting 24sept13 bim dutch revit standards mark wieringa cepezed
 
Versiebeheer van database changes
Versiebeheer van database changesVersiebeheer van database changes
Versiebeheer van database changes
 
IDMEF Specifics
IDMEF SpecificsIDMEF Specifics
IDMEF Specifics
 
Adlib gebruikersgroep - voorjaarsbijeenkomst 2019 - Wouter de Voogd - Datamig...
Adlib gebruikersgroep - voorjaarsbijeenkomst 2019 - Wouter de Voogd - Datamig...Adlib gebruikersgroep - voorjaarsbijeenkomst 2019 - Wouter de Voogd - Datamig...
Adlib gebruikersgroep - voorjaarsbijeenkomst 2019 - Wouter de Voogd - Datamig...
 

Git for the win!