git chti jug

Post on 01-Nov-2014

28 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

La gestion de configuration qui vous veut du bien.

David Gageot

CTO Algodeal.com «The Crowd Sourced Quant

Hedge Fund»

@dgageotjavabien.net

Gain de temps

Gestion de configuration

Robustesse

Souplesse

Nous allons parler de...

Réactivité

Travail en équipe

Cinéma

Bottes de Foin

Magie

Yoda

...Mais aussi de

Sandwichau fromage

Addiction

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.

Manifesto for Agile Software Development

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/

Photo: http://www.cartoonstock.com/lowres/iba0399l.jpg

Attention à la Magie !

SimpleComplexeDéroutantEn vogueAddictif

Git en un slide.

RapideDistribué

DéconnectéCompletRobuste

La concurrence en un slide.

Photo: http://www.flickr.com/photos/zoutedrop/2317065892/

Pas de temps à perdre ?

Commençons par une démo de git en action.

Première approche :

On pourrait tester tous les commits depuis le dernier.

Photo: http://www.flickr.com/photos/tarchamps/2835943555/sizes/l/

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

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

Git bisect en action.

(démo)

Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/

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/

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

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 serveur,Pas de service,

Pas d’administration.

Utilisation personnelle. Vous savez presque

tout !

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.

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 équipe.Pas 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.

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

Dans la vraie vievu 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

Faire un merge c’est difficile

Frein au refactoring

Photo: http://img4.southernliving.com/i/2007/01/grilled-cheese/melted-cheese-l.jpg

Renommer les packagescom.tech4quanten com.algodeal.

Découper un projet maven

en sous projets.

Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/

Modifier un fichier pendant qu’un autre développeur le renomme.

Casse tête assuré.

Sans code freeze.

Un Build Manager dans la salle ?

Photo: http://flickr.com/photos/8459432@N03/3446187475

Keep it Stupid Simple.

Pas 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 continue ?

Hudson, Cruise Control, Team City ?

Et si le build n’était jamais cassé ?

Un petit dessin...

Perso Private Build

Partagé

Sync

puis PushBuild

On peut travailler pendant le build.

Pas de panne.

Build toujours vert -> moins de complexité.

Robustesse et gain de temps.

Branches localestig

cherry-pick

filter-branch stash

git blame

rebase -irevert

commit hooks

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

J’avais promis de parler de Yoda !

«Git demain adopter tu dois, tiot Padawan»

Pro Git.

http://progit.org/

GitX.

Passerelle bi-directionnelle vers Subversion.

Permet de travailler sous git tout en publiant dans SVN.

Git-svn.

Merci.Questions / Réponses

David Gageot

CTO Algodeal.com «The Crowd Sourced Quant

Hedge Fund»

@dgageotjavabien.net

top related