Git Chti JUG

1,947 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,947
On SlideShare
0
From Embeds
0
Number of Embeds
291
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Git Chti JUG

  1. 1. La gestion de configuration qui vous veut du bien.
  2. 2. David Gageot CTO Algodeal.com «The Crowd Sourced Quant Hedge Fund» @dgageot javabien.net
  3. 3. Nous allons parler de... Gestion de configuration Gain de temps Travail en équipe Réactivité Robustesse Souplesse
  4. 4. ...Mais aussi de Bottes de Foin Cinéma Addiction Sandwich au fromage Magie Yoda
  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. Git en un slide. Rapide Simple Distribué Complexe Déconnecté Déroutant Complet En vogue Robuste Addictif
  11. 11. La concurrence en un slide.
  12. 12. Pas de temps à perdre ? Commençons par une démo de git en action. Photo: http://www.flickr.com/photos/zoutedrop/2317065892/
  13. 13. mvn eclipse:eclipse ne fonctionne plus ! Depuis quand ? Quel commit a cassé le build ? Photo: http://malcontenta.blog.lemonde.fr/files/2008/06/chaplin-les-temps-modernes.1212659628.jpg
  14. 14. Première approche : On pourrait tester tous les commits depuis le dernier. Photo: http://www.flickr.com/photos/tarchamps/2835943555/sizes/l/
  15. 15. 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
  16. 16. 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
  17. 17. Git bisect en action. (démo) Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  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 ce que vous savez sur les outils de gestion de configuration. 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’administration.
  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, DropBox. 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. (au sens noble du terme) Photo: http://www.e-cart.biz/stores/vintage-metal-art/images/custom_tailor.gif
  32. 32. Dans la vraie vie 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. Renommer 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/
  36. 36. Modifier un fichier pendant qu’un autre développeur le renomme. Casse tête assuré.
  37. 37. Sans code freeze. Un Build Manager dans la salle ? Photo: http://flickr.com/photos/8459432@N03/3446187475
  38. 38. Keep it Stupid Simple. Pas besoin de plugin. Juste mv, vi, rm
  39. 39. «Le build incassable» Photo: http://4.bp.blogspot.com/_OhGGUzXs2IY/SlcDgkq4riI/AAAAAAAAB3Y/5uoio0yUue8/s1600-h/Affiche+1.jpg
  40. 40. Intégration continue ?
  41. 41. Hudson, Cruise Control, Team City ?
  42. 42. Et si le build n’était jamais cassé ?
  43. 43. Un petit dessin... Partagé Build puis Push Sync Perso Private Build
  44. 44. Robustesse et gain de temps. On peut travailler pendant le build. Pas de panne. Build toujours vert -> moins de complexité.
  45. 45. Cette présentation est loin d’être exhaustive add -p checkout revert rebase -i cherry-pick commit hooks diff reset filter-branch stash hooks Branches locales log tig tag git blame instaweb whatchanged clean
  46. 46. J’avais promis de parler de Yoda ! «Git demain adopter tu dois, tiot Padawan» Photo: http://networksecurityip.files.wordpress.com/2007/11/yoda.jpg
  47. 47. Pro Git. http://progit.org/
  48. 48. GitX.
  49. 49. Git-svn. Passerelle bi-directionnelle vers Subversion. Permet de travailler sous git tout en publiant dans SVN.
  50. 50. Merci. Questions / Réponses
  51. 51. David Gageot CTO Algodeal.com «The Crowd Sourced Quant Hedge Fund» @dgageot javabien.net

×