Presentatie Git

17
DVCS presentatie Hogeschool van Arnhem en Nijmegen DVCS – een introductie met behulp van Git Wilbert van Dolleweerd Application Developer

description

Presentatie voor Hogeschool Arnhem/Nijmegen over Git.

Transcript of Presentatie Git

Page 1: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

DVCS – een introductie met behulp van Git

Wilbert van Dolleweerd

Application Developer

Page 2: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

Wie is die man en wat doet hij hier?

• Application Developer bij CSC• Gedetacheerd als buildmanager bij

C2SC (onderdeel van Defensie)• Verantwoordelijk voor alle

buildprocessen + het versiebeheer systeem

• Codebase circa 4,5 miljoen regels C#, C++, Visual Basic 6, ADA, etc.

Page 3: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

DVCS – Distributed Version Control System

• Eerst een traditioneel VCS…

Page 4: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

DVCS – Distributed Version Control System

• Nu met distributed goodness…

Page 5: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

Wat levert je dit op?

“Speed is a feature!” - Linus Torvalds

Page 6: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

Off-line gebruik oftewel het vliegtuig scenario

Page 7: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

Lokale branches

• Eenvoudig en snel lokale (in je eigen repository) branches aanmaken • Wanneer is de laatste keer dat je bijvoorbeeld in Subversion een eigen

branch aanmaakte voor een experiment?

Page 8: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

Slimmer mergen

• Een versiebeheer systeem wat gedistribueerd is MOET ook goed kunnen mergen, anders heb je er niets aan.

Page 9: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

“History is mutable”

• Design filosofie van Git: alles is (lokaal) te veranderen• Extreme flexibiliteit• Dit kan ook mooie ‘rm –rf’ ervaringen opleveren

Page 10: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

DEMO

Page 11: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

Nieuwe workflow mogelijkheden

• Subversion style

Page 12: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

Nieuwe workflow mogelijkheden

• Github model met integratie manager

Page 13: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

Nieuwe workflow mogelijkheden

• Linux kernel model met dictator en luitenanten

Page 14: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

Een workflow kan ook via branches in een repository

Page 15: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

“Elk voordeel heb zijn nadeel”

• Minder geschikt om flinke binaries op te slaan (denk aan game-development)

• Geen lock mechanisme kan een nadeel zijn• Steile leercurve / command line interface (wees niet bang: er zijn ook

grafische clients beschikbaar voor alle platformen)• Windows is voor Git een ‘second-rate citizen’

Page 16: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

Tips / best practices

• Kies een globale werkwijze met je team en hou je daaraan• Wees niet bang van branches – gebruik ze in je voordeel• Hou je commits logisch en klein (liever teveel kleine commits dan weinig

grote commits)• Schrijf duidelijke commit messages• ‘Merge early, merge often’ blijft belangrijk

Page 17: Presentatie Git

DVCS presentatie Hogeschool van Arnhem en Nijmegen

Meer informatie

• Mijn Google+ http://gplus.to/WilbertVanDolleweerd (shameless plug)• Google Talk van Randal Schwartz over Git over waarom je Git zou

moeten gebruiken• ‘The thing about Git’ – een artikel over de flexibiliteit van Git• Git immersion – een guided tour door Git• http://help.github.com/ - hoe gebruik je Git in combinatie met Github• Alle documentatie op de Git site