Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Git

1,395 views

Published on

  • Be the first to comment

  • Be the first to like this

Git

  1. 1. Intervenant: Benoît DURAND b.durand@epixelic.com<br />Git<br />Un logiciel de gestion de versions décentralisée<br />11/04/2011<br />Méthodologie<br />
  2. 2. 1. Pourquoi changer ?<br />Les branches<br />Le travail hors-ligne<br />Le workflow<br />Rapide et efficace<br />11/04/2011<br />2<br />Git<br />
  3. 3. Le workflow actuel<br />Une gestion centralisé<br />11/04/2011<br />3<br />Git<br />Dépôt SVN<br />Développeur 1<br />Développeur 2<br />Développeur 3<br />
  4. 4. Un nouveau workflow<br />Gestion par un chef de projet<br />11/04/2011<br />4<br />Git<br />Développeur 1<br />(public)<br />Développeur 2<br />(public)<br />Dépôt officiel<br />Développeur 1<br />(local)<br />Développeur 2<br />(local)<br />Chef de projet<br />
  5. 5. Qu’est-ce que Git ?<br />Git n’est pas subversion<br />11/04/2011<br />5<br />Git<br />
  6. 6. Qu’est-ce que Git ?<br />Git n’est pas subversion<br />+<br />Git n’est pas une évolution de subversion<br />11/04/2011<br />6<br />Git<br />
  7. 7. Un piège à éviter<br />Git n’est pas subversion<br />+<br />Git n’est pas une évolution de subversion<br />=<br />Oubliez subversion !<br />11/04/2011<br />7<br />Git<br />
  8. 8. Nouveaux concepts<br />Oubliez tout ce que<br />vous croyez savoir !<br />11/04/2011<br />8<br />Git<br />
  9. 9. Nouveaux concepts<br />11/04/2011<br />9<br />Git<br />Dossier local<br />Git est stocké dans <br />un seul répertoire<br />(.git)<br />
  10. 10. Nouveaux concepts<br />11/04/2011<br />10<br />Git<br />Dossier local<br />Dépôt local<br />Dépôt distant<br />Git est distribué<br />
  11. 11. Nouveaux concepts<br />11/04/2011<br />11<br />Git<br />Dossier local<br />Dépôt local<br />Zone d’index<br />Dépôt distant<br />Git a une<br />zone d’index<br />
  12. 12. Tout est local<br />11/04/2011<br />12<br />Git<br />Dossier local<br />Zone d’index<br />Dépôt local<br />Dépôt distant<br />add<br />commit<br />push<br />fetch<br />checkout<br />merge<br />
  13. 13. Un raccourci<br />11/04/2011<br />13<br />Git<br />Working copy<br />Staging area<br />Dépôt local<br />add<br />stage<br />+<br />commit<br />=<br />commit -a<br />commit<br />commit -a<br />
  14. 14. Un autre raccourci<br />11/04/2011<br />14<br />Git<br />Working copy<br />Dépôt local<br />Dépôt distant<br />fetch + merge<br />=<br />pull<br />fetch<br />merge<br />pull<br />
  15. 15. Création du dépôt officiel<br />Le chef de projet pousse vers le dépôt<br />11/04/2011<br />15<br />Git<br />Dépôt officiel<br />PUSH<br />Chef de projet<br />
  16. 16. Création du dépôt local<br />Un développeur clone le dépôt<br />11/04/2011<br />16<br />Git<br />Dépôt officiel<br />clone<br />Développeur 2<br />(local)<br />Chef de projet<br />
  17. 17. Publication du travail<br />Le développeur pousse son travail<br />11/04/2011<br />17<br />Git<br />Développeur 2<br />(public)<br />Dépôt officiel<br />PUSH<br />Développeur 2<br />(local)<br />Chef de projet<br />
  18. 18. Envoi d’un lot<br />Le développeur envoie une demande<br />11/04/2011<br />18<br />Git<br />Développeur 2<br />(public)<br />Dépôt officiel<br />pull request<br />Développeur 2<br />(local)<br />Chef de projet<br />
  19. 19. Le chef de projet intègre<br />Le chef de projet pousse les modifications<br />11/04/2011<br />19<br />Git<br />Développeur 2<br />(public)<br />Dépôt officiel<br />PUSH<br />Développeur 2<br />(local)<br />Chef de projet<br />
  20. 20. Mise à jour<br />Un développeur met à jour son master<br />11/04/2011<br />20<br />Git<br />Développeur 2<br />(public)<br />Dépôt officiel<br />pull<br />Développeur 1<br />(local)<br />Développeur 2<br />(local)<br />Chef de projet<br />
  21. 21. Le nouveau workflow<br />Gestion par intégration<br />11/04/2011<br />21<br />Git<br />Développeur 1<br />(public)<br />Développeur 2<br />(public)<br />Dépôt officiel<br />Développeur 1<br />(local)<br />Développeur 2<br />(local)<br />Chef de projet<br />
  22. 22. Nouveaux concepts<br />Le vocabulaire change<br />11/04/2011<br />22<br />Git<br />
  23. 23. Nouveaux concepts<br />Un commit est identifié par un sha1 :<br />1c419acf<br />11/04/2011<br />23<br />Git<br />
  24. 24. Nouveaux concepts<br />1c419acfda59e095f169a435512ee5e1edaaa06c<br />11/04/2011<br />24<br />Git<br />
  25. 25. Du rêve<br />git stash<br />git rebase –interactive<br />git commit --amend<br />11/04/2011<br />25<br />Git<br />
  26. 26. La migration du dépôt<br />git-svn<br />11/04/2011<br />26<br />Git<br />
  27. 27. Gitweb<br />11/04/2011<br />27<br />Git<br />
  28. 28. GitHub (numéro 1)<br />11/04/2011<br />28<br />Git<br />
  29. 29. Gitorious (open source)<br />11/04/2011<br />29<br />Git<br />
  30. 30. Les outils pour Windows<br />11/04/2011<br />30<br />Git<br />msysgit (bash et gui)<br />EGit (plugin eclipse)<br />TortoiseGIT<br />NBGit (plugin NetBeans)<br />PhpStorm<br />
  31. 31. Auto-formation<br />http://progit.org/book/fr/<br />http://gitimmersion.com/<br />http://help.github.com/<br />http://git-scm.com/documentation<br />http://gitref.org/<br />11/04/2011<br />31<br />Git<br />
  32. 32. Pourquoi ce nom ?<br />« I’m an egotisticalbastard, and I name all myprojectsaftermyself. First Linux, now git. »<br />Linus Torvalds<br />11/04/2011<br />32<br />Git<br />
  33. 33. Questions ?<br />11/04/2011<br />33<br />Git<br />

×