La gestion de configuration qui vous
            veut du bien
Faisons connaissance




               David Gageot
             CTO algodeal.com
            «The Crowd Sourced
        ...
Nous allons parler de...

                                Gestion
            Refactoring        de sources


  Gain
de te...
...mais aussi de...




    Bottes                                  Yoda
   de Foin




                                  ...
Ca vous va ?




               Photo: http://www.flickr.com/photos/91082225@N00/3271601712
Avant d’aller plus loin...
J’ai un aveux à faire. Je suis accro aux outils.




                                       Pho...
Manifesto
for Agile Software Development
Git me fait gagner du temps
 Moins de portes fermées
   Moins de frictions
 Un peu de Magie parfois




             Photo...
Attention à la Magie !




                         Photo: http://www.cartoonstock.com/lowres/iba0399l.jpg
Pas de temps à perdre ?
     Git en action




                          Photo: http://www.flickr.com/photos/zoutedrop/2317...
mvn eclipse:eclipse ne fonctionne plus !
   Depuis quand ? Quel commit ?




                          Photo: http://malco...
On pourrait tester tous les commits depuis le dernier




                                       Photo: http://www.flickr.c...
Dichotomie :

La dichotomie (« couper en deux » en grec)
est, en algorithmique, un processus itératif ou
récursif de reche...
A la main, c’est quand même long




                     Photo: http://www.wallfizz.com/nature/plaine-et-prairie/2714-bott...
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 de
configuration sans serveur »
 « Le merge omniscient »
  « Le...
Mais avant...
Oubliez tout ce que vous savez




              Photo: http://www.collider.com/uploads/imageGallery/Men_in_...
Pas de retour arrière




                        Photo: http://www.reconnections.net/redblue_pill.jpg
« La gestion de configuration
        sans serveur »




           Photo: http://www.allocine.fr/film/fichefilm-20588/affiches...
Utilisation personnelle              Vous
                                 savez presque
                                 ...
Utilisation personnelle


                 Quand ?
Avant d’éditer des fichiers de configuration
         Pour préparer une d...
Partagé                 Ca y est,
                       vous savez
                         tout !




Partager un répert...
Partagé




Partage de sources dans une équipe
 Pas de notion de maître / esclave

Chacun peut faire des modifications
   e...
Cercles de confiance


       Référence
pull




                       Committer
Cercles de confiance




Mode Open Source : noyaux linux

      Pas de droits d’accès

      Pas d’administrateur

 Modèle ...
Centralisé


             Créer un repository
                   central


                Publier des
               modi...
Centralisé



           A la Subversion

Chaque clone connait tout l’historique

     Travail en mode déconnecté

       ...
Git Hub
Comme à la maison
Git permet de suivre son propre workflow




                              Photo: http://www.e-cart.biz/s...
Un vrai projet
vu avec l’outil Gource
       (démo)




           Photo: http://www.flickr.com/photos/joshwellington/39297...
«Le merge omniscient»




Photo: http://www.computerweekly.com/PhotoGalleries/235697/944_20_Cerebro-X-Men-Origins-Wolverin...
Faire un merge c’est difficile
     Frein au refactoring




                         Photo: http://img4.southernliving.com...
Cas d’école

Modifier 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 ...
Un vrai projet
vu avec l’outil Gource
       (démo)




           Photo: http://www.flickr.com/photos/joshwellington/39297...
Sans code freeze
Un Build Manager dans la salle ?




                               Photo: http://flickr.com/photos/845943...
Keep it Simple Stupid
Pas besoin de plugin. Juste mv, vi, rm
«Le build incassable»




Photo: http://4.bp.blogspot.com/_OhGGUzXs2IY/SlcDgkq4riI/AAAAAAAAB3Y/5uoio0yUue8/s1600-h/Affiche+...
Intégration continue
Hudson, Cruise Control, Team City ?
Et si le build n’était jamais cassé ?
Juste un script
Un petit dessin...




        Partagé

                         Build puis Push

         Sync
Perso             Private ...
Plus de pause café imposée




                         Photo: http://farm3.static.flickr.com/2698/4041033176_80072af942.jpg
Cette présentation est loin d’être exhaustive


       add -p              checkout
                                      ...
«Git demain adopter tu dois, jeune Padawan»




                                 Photo: http://networksecurityip.files.word...
Un peu de lecture
GitX
Git-svn




Passerelle bi-directionnelle
      vers Subversion

Permet de travailler sous git
tout en publiant dans SVN
Merci
Questions / Réponses
Prochain SlideShare
Chargement dans…5
×

Git Agile France 2010

1 378 vues

Publié le

Git, la gestion de configuration qui vous veux du bien

Publié dans : Technologie, Business
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

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

Aucune remarque pour cette diapositive

Git Agile France 2010

  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
  3. 3. Nous allons parler de... Gestion Refactoring de sources Gain de temps Intégration continue Travail en équipe
  4. 4. ...mais aussi de... Bottes Yoda de Foin Sandwich au fromage Men in Black
  5. 5. Ca vous va ? Photo: http://www.flickr.com/photos/91082225@N00/3271601712
  6. 6. Avant d’aller plus loin... J’ai un aveux à faire. Je suis accro aux outils. Photo: http://www.flickr.com/photos/gregrk/1426969126/sizes/o/
  7. 7. Manifesto for Agile Software Development
  8. 8. Git me fait gagner du temps Moins de portes fermées Moins de frictions Un peu de Magie parfois Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  9. 9. Attention à la Magie ! Photo: http://www.cartoonstock.com/lowres/iba0399l.jpg
  10. 10. Pas de temps à perdre ? Git en action Photo: http://www.flickr.com/photos/zoutedrop/2317065892/
  11. 11. mvn eclipse:eclipse ne fonctionne plus ! Depuis quand ? Quel commit ? Photo: http://malcontenta.blog.lemonde.fr/files/2008/06/chaplin-les-temps-modernes.1212659628.jpg
  12. 12. On pourrait tester tous les commits depuis le dernier Photo: http://www.flickr.com/photos/tarchamps/2835943555/sizes/l/
  13. 13. Dichotomie : La dichotomie (« couper en deux » en grec) est, en algorithmique, un processus itératif ou récursif de recherche où, à chaque étape, on coupe en deux parties (pas forcément égales) un espace de recherche qui devient restreint à l'une de ces deux parties. Wikipedia
  14. 14. A la main, c’est quand même long Photo: http://www.wallfizz.com/nature/plaine-et-prairie/2714-botte-de-foin-dans-un-champ-WallFizz.jpg
  15. 15. Surtout avec des branches Photo: http://farm1.static.flickr.com/154/356715278_0e0cfe107c.jpg
  16. 16. Git bisect (démo) Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  17. 17. git bisect
  18. 18. Partageons quelques tours de magie « La gestion de configuration sans serveur » « Le merge omniscient » « Le build incassable » Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  19. 19. Mais avant... Oubliez tout ce que vous savez Photo: http://www.collider.com/uploads/imageGallery/Men_in_Black/men_in_black_movie_image_tommy_lee_jones_and_will_smith.jpg
  20. 20. Pas de retour arrière Photo: http://www.reconnections.net/redblue_pill.jpg
  21. 21. « La gestion de configuration sans serveur » Photo: http://www.allocine.fr/film/fichefilm-20588/affiches/detail/?cmediafile=18930405
  22. 22. Utilisation personnelle Vous savez presque tout ! Mettre un répertoire local en gestion de configuration Pas de serveur Pas de service Pas d’administrateur
  23. 23. Utilisation personnelle 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
  24. 24. Partagé Ca y est, vous savez tout ! Partager un répertoire sur une machine ou un réseau local Faire une copie locale de tout l’historique Pousser/récupérer les modifications
  25. 25. Partagé Partage de sources dans une équipe Pas de notion de maître / esclave Chacun peut faire des modifications et récupérer celles des autres Pas d’administrateur
  26. 26. Cercles de confiance Référence pull Committer
  27. 27. Cercles de confiance Mode Open Source : noyaux linux Pas de droits d’accès Pas d’administrateur Modèle pour une grosse équipe
  28. 28. Centralisé Créer un repository central Publier des modifications Faire une copie locale
  29. 29. Centralisé A la Subversion Chaque clone connait tout l’historique Travail en mode déconnecté Backup gratuite (Encore un administrateur de moins...)
  30. 30. Git Hub
  31. 31. Comme à la maison Git permet de suivre son propre workflow Photo: http://www.e-cart.biz/stores/vintage-metal-art/images/custom_tailor.gif
  32. 32. Un vrai projet vu avec l’outil Gource (démo) Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  33. 33. «Le merge omniscient» Photo: http://www.computerweekly.com/PhotoGalleries/235697/944_20_Cerebro-X-Men-Origins-Wolverine-Gadgets-and-Weapons.JPG
  34. 34. Faire un merge c’est difficile Frein au refactoring Photo: http://img4.southernliving.com/i/2007/01/grilled-cheese/melted-cheese-l.jpg
  35. 35. Cas d’école Modifier un fichier pendant qu’un autre développeur le renomme Casse tête assuré
  36. 36. 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/
  37. 37. Un vrai projet vu avec l’outil Gource (démo) Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  38. 38. Sans code freeze Un Build Manager dans la salle ? Photo: http://flickr.com/photos/8459432@N03/3446187475
  39. 39. Keep it Simple Stupid Pas besoin de plugin. Juste mv, vi, rm
  40. 40. «Le build incassable» Photo: http://4.bp.blogspot.com/_OhGGUzXs2IY/SlcDgkq4riI/AAAAAAAAB3Y/5uoio0yUue8/s1600-h/Affiche+1.jpg
  41. 41. Intégration continue Hudson, Cruise Control, Team City ?
  42. 42. Et si le build n’était jamais cassé ?
  43. 43. Juste un script
  44. 44. Un petit dessin... Partagé Build puis Push Sync Perso Private Build
  45. 45. Plus de pause café imposée Photo: http://farm3.static.flickr.com/2698/4041033176_80072af942.jpg
  46. 46. Cette présentation est loin d’être exhaustive add -p checkout revert rebase -i cherry-pick diff reset filter-branch stash hooks Branches locales log tig tag git blame instaweb whatchanged clean
  47. 47. «Git demain adopter tu dois, jeune Padawan» Photo: http://networksecurityip.files.wordpress.com/2007/11/yoda.jpg
  48. 48. Un peu de lecture
  49. 49. GitX
  50. 50. Git-svn Passerelle bi-directionnelle vers Subversion Permet de travailler sous git tout en publiant dans SVN
  51. 51. Merci Questions / Réponses

×