Git

1,226 views
1,182 views

Published on

Présentation de Git par David Gageot au Normandy Jug

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

  • Be the first to like this

No Downloads
Views
Total views
1,226
On SlideShare
0
From Embeds
0
Number of Embeds
162
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×