Slide 1

Slide 1 text

Présentation du versioning avec Matthieu Sadouni @msadouni

Slide 2

Slide 2 text

pourquoi ?

Slide 3

Slide 3 text

méthode "La RACHE" © http://www.risacher.com/la-rache/index.php?z=2

Slide 4

Slide 4 text

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 ?

Slide 5

Slide 5 text

solution enregistrer les changements apportés au code (commit) ● ensemble de modifications (diff) ● message explicatif ● date ● auteur ● identifiant unique

Slide 6

Slide 6 text

anatomie d'un commit

Slide 7

Slide 7 text

bénéfices

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

développements parallèles http://nvie.com/posts/a-successful-git-branching-model/

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

comment ?

Slide 12

Slide 12 text

centralisé vs distribué

Slide 13

Slide 13 text

plusieurs outils

Slide 14

Slide 14 text

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 »

Slide 15

Slide 15 text

git au quotidien cd /projet git init git add . git commit -m "premier commit" initialiser un projet premier commit Matthieu Sadouni 18/10/2012 abcdef

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

git au quotidien corriger un bug git checkout -b correction-bug-123 hack... git add . git commit -m "bug #123 corrigé" git checkout master git merge correction-bug-123 git 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

Slide 18

Slide 18 text

# récupérer la liste des nouveaux commits sur le dépôt distant # la copie locale n'est pas modifiée git 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 + merge git pull origin master # envoyer les nouveaux commits d'une branche sur le dépôt distant git push origin master

Slide 19

Slide 19 text

existe aussi en GUI http://harrywolff.com/the-best-mac-git-gui/sourcetree-01/

Slide 20

Slide 20 text

autres bénéfices ● versionner autre chose que du code : PSD, etc... ● base d'un process de qualité : ○ pour le prestataire ○ pour le client

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

conclusion filet de sécurité permanent tranquillité d'esprit expérimentation facilitée gains de compétences

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

questions ? Matthieu Sadouni @msadouni