Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Git, la gestion de configuration qui vous veut du bien

dgageot
September 26, 2011

Git, la gestion de configuration qui vous veut du bien

Code freeze, merges douloureux, installation et administration d'un serveur, sauvegardes fastidieuses, perte de données, branches coûteuses, obstacle au refactoring, cycles de build trop longs...

Ces mots sont-ils pour vous synonymes de Gestion de Configuration? Vous avez appris à vivre en couple avec un outil en ignorant volontairement ses défauts, mais ils se rappellent régulièrement à vous? Découvrez à travers des cas d'utilisation quotidiens comment Git sait se faire oublier et vous faire gagner beaucoup de temps.

Vous allez aimer cet outil avec une administration proche de zéro, ne nécessitant pas de backup, utilisable en moins de cinq minutes sur une clef usb, un simple disque partagé, en serveur ou en mode SAAS. Les équipes agiles, seront "accros" de l'outil sachant se faire oublier lors de refactoring de code massifs et permettant l'intégration continue sans serveur. Les équipes distribuées apprécieront les branches locales, le cherry-picking et les performances de git.

Vous êtes build manager en charge des branches et des code freezes? Désolé, vous venez de perdre votre job.

dgageot

September 26, 2011
Tweet

More Decks by dgageot

Other Decks in Programming

Transcript

  1. David Gageot CTO algodeal.com The Crowd Sourced Quant Hedge Fund

    @dgageot javabien.net Faisons connaissance
  2. Gain de temps Gestion de sources Nous allons parler de...

    Travail en équipe Intégration continue Refactoring
  3. Genre : Gestion de version Date de naissance : 2005

    Créateur : Linus Torvalds Licence : GPL Signes distinctifs : Pas besoin de serveur Chaque utilisateur a une copie de l’historique Fonctionne en déconnecté Git Photo:http://getch.files.wordpress.com/2009/02/mask-linus_torvalds.jpg
  4. 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
  5. Tester toutes les versions depuis la fin 1 3 2

    4 5 6 1 Dichotomie 2 3 OK KO KO OK O(n) O(log n)
  6. 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/
  7. 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 Mettre un répertoire en gestion de configuration
  8. One more thing... Début fonctionnalité B Suite fonctionnalité A master

    Début fonctionnalité A Suite fonctionnalité B
  9. Git rebase -i Suite fonctionnalité A Début fonctionnalité B master

    Début fonctionnalité A Suite fonctionnalité B
  10. 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 Partagé
  11. Mode Open Source : noyaux linux Pas de droits d’accès

    Pas d’administrateur Modèle pour une grosse équipe Cercles de confiance
  12. A la Subversion Chaque clone connait tout l’historique Travail en

    mode déconnecté Backup gratuite (Encore un administrateur de moins...) Centralisé
  13. 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/ Exemples
  14. Un vrai projet Java vu avec l’outil Gource (démo) Photo:

    http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  15. Cette présentation est loin d’être exhaustive tig cherry-pick filter-branch stash

    git blame revert instaweb diff log tag whatchanged clean add -p checkout reset hooks
  16. Pas accès à toute la puissance de git. Pas compatible

    avec toutes les mises en oeuvre de SVN Limites de Git-svn
  17. David Gageot CTO algodeal.com The Crowd Sourced Quant Hedge Fund

    @dgageot javabien.net Faisons connaissance