24
Présentation du versioning avec Matthieu Sadouni @msadouni

Présentation du versioning avec Git

Embed Size (px)

DESCRIPTION

Présentation du versioning avec Git au CaenCamp (http://www.caencamp.fr) #5.

Citation preview

Page 1: Présentation du versioning avec Git

Présentation du versioning avec

Matthieu Sadouni@msadouni

Page 2: Présentation du versioning avec Git

pourquoi ?

Page 3: Présentation du versioning avec Git

méthode "La RACHE" ©

http://www.risacher.com/la-rache/index.php?z=2

Page 4: Présentation du versioning avec Git

problèmes

Comment :

● avoir un historique de la vie du projet ?

● revenir en arrière ?

● corriger un bug quand on travaille sur autre chose ?

● maintenir plusieurs environnements (dev, test, prod) ?

● travailler à plusieurs ?

Page 5: Présentation du versioning avec Git

solutionenregistrer les changements apportés au code (commit)

● ensemble de modifications (diff)● message explicatif● date● auteur● identifiant unique

Page 6: Présentation du versioning avec Git

anatomie d'un commit

Page 7: Présentation du versioning avec Git

bénéfices

Page 8: Présentation du versioning avec Git

historique

- identifier qui a fait quoi et quand- revenir à n'importe quelle étape précédente

Page 9: Présentation du versioning avec Git

développements parallèles

http://nvie.com/posts/a-successful-git-branching-model/

Page 10: Présentation du versioning avec Git

fusion automatique

http://www.flickr.com/photos/foryou/6197709847/

Page 11: Présentation du versioning avec Git

comment ?

Page 12: Présentation du versioning avec Git

centralisé vs distribué

Page 13: Présentation du versioning avec Git

plusieurs outils

Page 14: Présentation du versioning avec Git

pourquoi git ?

● pérenne car très utilisé :

○ industrie : google, facebook, twitter, microsoft...

○ gros projets open source : linux, android, ruby on rails...

● github.com

● le plus rapide

● facile à installer

● « cheap branches »

Page 15: Présentation du versioning avec Git

git au quotidien

cd /projetgit initgit add .git commit -m "premier commit"

initialiser un projet

premier commit Matthieu Sadouni 18/10/2012 abcdef

Page 16: Présentation du versioning avec Git

git au quotidien

hack...git add .git commit -m "ajout du compte client"

enregistrer des modifications

premier commit Matthieu Sadouni 18/10/2012 abcdef

ajout du compte client Matthieu Sadouni 18/10/2012 fa2c24

Page 17: Présentation du versioning avec Git

git au quotidien

corriger un buggit checkout -b correction-bug-123hack...git add .git commit -m "bug #123 corrigé"git checkout mastergit merge correction-bug-123git branch -d correction-bug-123

premier commit Matthieu Sadouni 18/10/2012 abcdef

ajout du compte client Matthieu Sadouni 18/10/2012 fa2c24

bug #123 corrigé Matthieu Sadouni 19/10/2012 6ae3dc

Merge commit 6ae3dc Matthieu Sadouni 19/10/2012 8e3c1

Page 18: Présentation du versioning avec Git

# récupérer la liste des nouveaux commits sur le dépôt distant# la copie locale n'est pas modifiéegit fetch origin

git au quotidien

travailler à plusieurs

# récupérer et fusionner les nouveaux commits sur le dépôt distant avec la branche actuelle# pull = fetch + mergegit pull origin master

# envoyer les nouveaux commits d'une branche sur le dépôt distantgit push origin master

Page 19: Présentation du versioning avec Git

existe aussi en GUI

http://harrywolff.com/the-best-mac-git-gui/sourcetree-01/

Page 20: Présentation du versioning avec Git

autres bénéfices

● versionner autre chose que du code : PSD, etc...

● base d'un process de qualité :○ pour le prestataire○ pour le client

Page 21: Présentation du versioning avec Git

C'est comme ne pas mettre sa ceinture de sécurité parce qu'on n'a pas encore eu d'accident.

conclusion

Page 22: Présentation du versioning avec Git

conclusion

filet de sécurité permanent

tranquillité d'esprit

expérimentation facilitée

gains de compétences

Page 23: Présentation du versioning avec Git
Page 24: Présentation du versioning avec Git

questions ?Matthieu Sadouni@msadouni