git agile france 2010
Post on 01-Nov-2014
17 Views
Preview:
DESCRIPTION
TRANSCRIPT
La gestion de configuration qui vous veut du bien
David GageotCTO algodeal.com
«The Crowd SourcedQuant Hedge Fund»
@dgageotjavabien.net
Faisons connaissance
Gainde temps
Gestionde sources
Nous allons parler de...
Travailen équipe
Intégrationcontinue
Refactoring
Menin Black
Bottesde Foin
Yoda
...mais aussi de...
Sandwichau fromage
Photo: http://www.flickr.com/photos/91082225@N00/3271601712
Ca vous va ?
Photo: http://www.flickr.com/photos/gregrk/1426969126/sizes/o/
Avant d’aller plus loin...J’ai un aveux à faire. Je suis accro aux outils.
Manifestofor Agile Software Development
Git me fait gagner du temps
Moins de portes ferméesMoins de frictions
Un peu de Magie parfois
Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
Photo: http://www.cartoonstock.com/lowres/iba0399l.jpg
Attention à la Magie !
Photo: http://www.flickr.com/photos/zoutedrop/2317065892/
Pas de temps à perdre ?Git en action
Photo: http://malcontenta.blog.lemonde.fr/files/2008/06/chaplin-les-temps-modernes.1212659628.jpg
mvn eclipse:eclipse ne fonctionne plus !Depuis quand ? Quel commit ?
Photo: http://www.flickr.com/photos/tarchamps/2835943555/sizes/l/
On pourrait tester tous les commits depuis le dernier
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
Photo: http://www.wallfizz.com/nature/plaine-et-prairie/2714-botte-de-foin-dans-un-champ-WallFizz.jpg
A la main, c’est quand même long
Photo: http://farm1.static.flickr.com/154/356715278_0e0cfe107c.jpg
Surtout avec des branches
Git bisect
(démo)
Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
git bisect
Partageons quelquestours de magie
« La gestion de configuration sans serveur »
« Le merge omniscient »« Le build incassable »
Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
Photo: http://www.collider.com/uploads/imageGallery/Men_in_Black/men_in_black_movie_image_tommy_lee_jones_and_will_smith.jpg
Mais avant...Oubliez tout ce que vous savez
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/detail/?cmediafile=18930405
Mettre un répertoire local en gestion de configuration
Pas de serveurPas de service
Pas d’administrateur
Utilisation personnelle Vous savez presque
tout !
Quand ?Avant d’éditer des fichiers de configuration
Pour préparer une démoAvant de mettre à jour Eclipse
...
Où ?Clef USB, Disque externe
Permet de se faire la main sur Git
Utilisation personnelle
Partager un répertoire sur une machine ou un réseau local
Faire une copie locale de tout l’historique
Partagé
Pousser/récupérer les modifications
Ca y est,vous savez
tout !
Partage de sources dans une équipePas de notion de maître / esclave
Chacun peut faire des modificationset récupérer celles des autres
Pas d’administrateur
Partagé
Cercles de confiance
pullRéférence
Committer
Mode Open Source : noyaux linux
Pas de droits d’accès
Pas d’administrateur
Modèle pour une grosse équipe
Cercles de confiance
Créer un repository central
Faire une copie locale
Publier des modifications
Centralisé
A la Subversion
Chaque clone connait tout l’historique
Travail en mode déconnecté
Backup gratuite(Encore un administrateur de moins...)
Centralisé
Git Hub
Photo: http://www.e-cart.biz/stores/vintage-metal-art/images/custom_tailor.gif
Comme à la maisonGit permet de suivre son propre workflow
Un vrai projetvu avec l’outil Gource
(démo)
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-Gadgets-and-Weapons.JPG
Photo: http://img4.southernliving.com/i/2007/01/grilled-cheese/melted-cheese-l.jpg
Faire un merge c’est difficileFrein au refactoring
Modifier un fichier pendant qu’un autre développeur le renomme
Casse tête assuré
Cas d’école
Renommer tous les packages
com.tech4quanten com.algodeal
Découper un projet maven
en sous projets
Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
Exemples
Un vrai projetvu avec l’outil Gource
(démo)
Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
Photo: http://flickr.com/photos/8459432@N03/3446187475
Sans code freezeUn Build Manager dans la salle ?
Keep it Simple StupidPas besoin de plugin. Juste mv, vi, rm
«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é ?
Juste un script
Un petit dessin...
Perso Private Build
Partagé
Sync
puis PushBuild
Plus de pause café imposée
Photo: http://farm3.static.flickr.com/2698/4041033176_80072af942.jpg
Branches localestig
cherry-pick
filter-branch stash
git blame
rebase -irevert
instaweb
diff
log
tag
whatchanged clean
add -p checkout
reset
Cette présentation est loin d’être exhaustive
hooks
Photo: http://networksecurityip.files.wordpress.com/2007/11/yoda.jpg
«Git demain adopter tu dois, jeune Padawan»
Un peu de lecture
GitX
Passerelle bi-directionnelle vers Subversion
Permet de travailler sous git tout en publiant dans SVN
Git-svn
MerciQuestions / Réponses
top related