git agile france 2010

Post on 01-Nov-2014

17 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Git, la gestion de configuration qui vous veux du bien

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/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://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