La gestion de configuration qui vous            veut du bien
Faisons connaissance               David Gageot            CTO algodeal.com            The Crowd Sourced            Quant ...
Nous allons parler de...                                Gestion            Refactoring        de sources  Gainde temps    ...
...mais aussi de...    Bottes                                  Yoda   de Foin                                    Sandwich ...
Ca vous va ?               Photo: http://www.flickr.com/photos/91082225@N00/3271601712
GitGenre : Gestion de versionDate de naissance : 2005Créateur : Linus TorvaldLicence : GPLSignes distinctifs :Pas besoin d...
La concurrence
Avant d’aller plus loin...Oubliez tout ce que vous savez                    http://www.filmbuffonline.com/FBOLNewsreel/word...
Pas de temps à perdre ?     Git en action                          Photo: http://www.flickr.com/photos/zoutedrop/2317065892/
mvn eclipse:eclipse ne fonctionne plus !   Depuis quand ? Quelle version ?                          Photo: http://malconte...
Tester toutes les versions précédentes ?                                 Photo: http://www.flickr.com/photos/tarchamps/2835...
Dichotomie :La dichotomie (« couper en deux » en grec)est, en algorithmique, un processus itératif ourécursif de recherche...
A la main, ça reste long                  Photo: http://www.wallfizz.com/nature/plaine-et-prairie/2714-botte-de-foin-dans-u...
Surtout avec des branches                            Photo: http://farm1.static.flickr.com/154/356715278_0e0cfe107c.jpg
Git bisect (démo)      Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
git bisect
Partageons quelques      tours de magie      « La gestion deconfiguration sans serveur » « Le merge omniscient »  « Le buil...
« La gestion de configuration        sans serveur »           Photo: http://www.allocine.fr/film/fichefilm-20588/affiches/detai...
Mettre un répertoire en gestion de configuration        Sans serveur, sans administrateur
Mettre un répertoire en gestion de configuration                    Quand ?   Avant d’éditer des fichiers de configuration   ...
Git & Gitx (démo)      Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
Commits locaux   Amélioration   Correctif   Première version
Branches localesmaster                  branche         Amélioration         Ajout 2         Correctif            Ajout 1 ...
Fusion de branchesmaster      merge branche                               branche            Amélioration         Ajout 2 ...
One more thing...master     Suite fonctionnalité B           Suite fonctionnalité A           Début fonctionnalité B      ...
Git rebase -imaster   Suite fonctionnalité B         Début fonctionnalité B         Suite fonctionnalité A         Début f...
Git rebase -i (suite)master         Fonctionnalité B         Fonctionnalité A
Partagé                         Vous                                              savez presque                           ...
PartagéPartage de sources dans une équipe Pas de notion de maître / esclaveChacun peut faire des modifications   et récupér...
Cercles de confiance       Référencepull                       Committer
Cercles de confianceMode Open Source : noyaux linux      Pas de droits d’accès      Pas d’administrateur Modèle pour une gr...
Centralisé             Créer un repository                   central              Faire une copie                   locale
Centralisé           A la SubversionChaque clone connait tout l’historique     Travail en mode déconnecté           Backup...
Git Hub
Comme à la maisonGit permet de suivre son propre workflow                              Photo: http://www.e-cart.biz/stores/...
Un vrai projet   (démo)        Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
Collaborer, ça veut dire quoi ?                                FichiersDéveloppeurs
Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
«Le merge omniscient»Photo: http://www.computerweekly.com/PhotoGalleries/235697/944_20_Cerebro-X-Men-Origins-Wolverine-Gad...
Faire un merge c’est difficile     Frein au refactoring                         Photo: http://img4.southernliving.com/i/200...
Cas d’écoleModifier un fichier pendant qu’un autre développeur le renomme       Casse tête assuré
Exemples       Renommer tous les            packages        com.tech4quant        en com.algodeal    Découper un projet ma...
Keep it Simple StupidPas besoin de plugin. Juste find, mv, sed
Keep it Simple Stupid
Sans code freezeUn Build Manager dans la salle ?                               Photo: http://flickr.com/photos/8459432@N03/...
Un vrai projet Javavu avec l’outil Gource       (démo)           Photo: http://www.flickr.com/photos/joshwellington/3929748...
«Le build incassable»Photo: http://4.bp.blogspot.com/_OhGGUzXs2IY/SlcDgkq4riI/AAAAAAAAB3Y/5uoio0yUue8/s1600-h/Affiche+1.jpg
Intégration continueHudson, Cruise Control, Team City ?
Et si le build n’était jamais cassé ?
Un petit script suffit
Un petit dessin...
Partagé                      puis publie                         Teste         clonePerso              Build privé        ...
Plus de pause café pendant le build                              Photo: http://farm3.static.flickr.com/2698/4041033176_8007...
Cette présentation est loin d’être exhaustive       add -p                checkout                                        ...
«Git demain adopter tu dois, jeune Padawan»                                 Photo: http://networksecurityip.files.wordpress...
Je commence demain
GitX
Git-svn Passerelle bi-directionnelle vers            SubversionPermet de travailler sous git tout en       publiant dans SVN
Limites de Git-svn Pas accès à toute la puissance de git.Pas compatible avec toutes les mises en           oeuvre de SVN
MerciQuestions / Réponses
Faisons connaissance               David Gageot            CTO algodeal.com            The Crowd Sourced            Quant ...
Prochain SlideShare
Chargement dans…5
×

Git

1 389 vues

Publié le

Présentation de Git par David Gageot au Normandy Jug

Publié dans : Design
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 389
Sur SlideShare
0
Issues des intégrations
0
Intégrations
162
Actions
Partages
0
Téléchargements
19
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Git

  1. 1. La gestion de configuration qui vous veut du bien
  2. 2. Faisons connaissance David Gageot CTO algodeal.com The Crowd Sourced Quant Hedge Fund @dgageot javabien.net http://infinitest.github.com
  3. 3. Nous allons parler de... Gestion Refactoring de sources Gainde temps Intégration continue Travail en équipe
  4. 4. ...mais aussi de... Bottes Yoda de Foin Sandwich au fromage Menin Black
  5. 5. Ca vous va ? Photo: http://www.flickr.com/photos/91082225@N00/3271601712
  6. 6. GitGenre : Gestion de versionDate de naissance : 2005Créateur : Linus TorvaldLicence : GPLSignes distinctifs :Pas besoin de serveurChaque utilisateur a unecopie de l’historiqueFonctionne en déconnecté Photo:http://getch.files.wordpress.com/2009/02/mask-linus_torvalds.jpg
  7. 7. La concurrence
  8. 8. Avant d’aller plus loin...Oubliez tout ce que vous savez http://www.filmbuffonline.com/FBOLNewsreel/wordpress/wp-content/uploads/2009/10/MenInBlack1.jpg
  9. 9. Pas de temps à perdre ? Git en action Photo: http://www.flickr.com/photos/zoutedrop/2317065892/
  10. 10. mvn eclipse:eclipse ne fonctionne plus ! Depuis quand ? Quelle version ? Photo: http://malcontenta.blog.lemonde.fr/files/2008/06/chaplin-les-temps-modernes.1212659628.jpg
  11. 11. Tester toutes les versions précédentes ? Photo: http://www.flickr.com/photos/tarchamps/2835943555/sizes/l/
  12. 12. Dichotomie :La dichotomie (« couper en deux » en grec)est, en algorithmique, un processus itératif ourécursif de recherche où, à chaque étape, oncoupe en deux parties (pas forcément égales)un espace de recherche qui devient restreint àlune de ces deux parties. Wikipedia
  13. 13. A la main, ça reste long Photo: http://www.wallfizz.com/nature/plaine-et-prairie/2714-botte-de-foin-dans-un-champ-WallFizz.jpg
  14. 14. Surtout avec des branches Photo: http://farm1.static.flickr.com/154/356715278_0e0cfe107c.jpg
  15. 15. Git bisect (démo) Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  16. 16. git bisect
  17. 17. Partageons quelques tours de magie « La gestion deconfiguration sans serveur » « Le merge omniscient » « Le build incassable » Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  18. 18. « La gestion de configuration sans serveur » Photo: http://www.allocine.fr/film/fichefilm-20588/affiches/detail/?cmediafile=18930405
  19. 19. Mettre un répertoire en gestion de configuration Sans serveur, sans administrateur
  20. 20. Mettre un répertoire en gestion de configuration Quand ? Avant d’éditer des fichiers de configuration Pour préparer une démo Avant de mettre à jour Eclipse ... Où ? Clef USB, Disque externe Permet de se faire la main sur Git
  21. 21. Git & Gitx (démo) Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  22. 22. Commits locaux Amélioration Correctif Première version
  23. 23. Branches localesmaster branche Amélioration Ajout 2 Correctif Ajout 1 Première version
  24. 24. Fusion de branchesmaster merge branche branche Amélioration Ajout 2 Correctif Ajout 1 Première version
  25. 25. One more thing...master Suite fonctionnalité B Suite fonctionnalité A Début fonctionnalité B Début fonctionnalité A
  26. 26. Git rebase -imaster Suite fonctionnalité B Début fonctionnalité B Suite fonctionnalité A Début fonctionnalité A
  27. 27. Git rebase -i (suite)master Fonctionnalité B Fonctionnalité A
  28. 28. Partagé Vous savez presque tout !Faire une copie locale de tout l’historique Pousser/récupérer les modifications
  29. 29. PartagéPartage de sources dans une équipe Pas de notion de maître / esclaveChacun peut faire des modifications et récupérer celles des autres Pas d’administrateur
  30. 30. Cercles de confiance Référencepull Committer
  31. 31. Cercles de confianceMode Open Source : noyaux linux Pas de droits d’accès Pas d’administrateur Modèle pour une grosse équipe
  32. 32. Centralisé Créer un repository central Faire une copie locale
  33. 33. Centralisé A la SubversionChaque clone connait tout l’historique Travail en mode déconnecté Backup gratuite(Encore un administrateur de moins...)
  34. 34. Git Hub
  35. 35. Comme à la maisonGit permet de suivre son propre workflow Photo: http://www.e-cart.biz/stores/vintage-metal-art/images/custom_tailor.gif
  36. 36. Un vrai projet (démo) Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  37. 37. Collaborer, ça veut dire quoi ? FichiersDéveloppeurs
  38. 38. Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  39. 39. «Le merge omniscient»Photo: http://www.computerweekly.com/PhotoGalleries/235697/944_20_Cerebro-X-Men-Origins-Wolverine-Gadgets-and-Weapons.JPG
  40. 40. Faire un merge c’est difficile Frein au refactoring Photo: http://img4.southernliving.com/i/2007/01/grilled-cheese/melted-cheese-l.jpg
  41. 41. Cas d’écoleModifier un fichier pendant qu’un autre développeur le renomme Casse tête assuré
  42. 42. Exemples Renommer tous les packages com.tech4quant en com.algodeal Découper un projet maven en sous projets Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  43. 43. Keep it Simple StupidPas besoin de plugin. Juste find, mv, sed
  44. 44. Keep it Simple Stupid
  45. 45. Sans code freezeUn Build Manager dans la salle ? Photo: http://flickr.com/photos/8459432@N03/3446187475
  46. 46. Un vrai projet Javavu avec l’outil Gource (démo) Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  47. 47. «Le build incassable»Photo: http://4.bp.blogspot.com/_OhGGUzXs2IY/SlcDgkq4riI/AAAAAAAAB3Y/5uoio0yUue8/s1600-h/Affiche+1.jpg
  48. 48. Intégration continueHudson, Cruise Control, Team City ?
  49. 49. Et si le build n’était jamais cassé ?
  50. 50. Un petit script suffit
  51. 51. Un petit dessin...
  52. 52. Partagé puis publie Teste clonePerso Build privé Mon Poste de travail
  53. 53. Plus de pause café pendant le build Photo: http://farm3.static.flickr.com/2698/4041033176_80072af942.jpg
  54. 54. Cette présentation est loin d’être exhaustive add -p checkout revert cherry-pickdiff reset filter-branch stash hooks log tag tig git blame instaweb whatchanged clean
  55. 55. «Git demain adopter tu dois, jeune Padawan» Photo: http://networksecurityip.files.wordpress.com/2007/11/yoda.jpg
  56. 56. Je commence demain
  57. 57. GitX
  58. 58. Git-svn Passerelle bi-directionnelle vers SubversionPermet de travailler sous git tout en publiant dans SVN
  59. 59. Limites de Git-svn Pas accès à toute la puissance de git.Pas compatible avec toutes les mises en oeuvre de SVN
  60. 60. MerciQuestions / Réponses
  61. 61. Faisons connaissance David Gageot CTO algodeal.com The Crowd Sourced Quant Hedge Fund @dgageot javabien.net

×