Download pdf - Git USI 2010

Transcript
Page 1: Git USI 2010

Git : La gestion de configurationqui vous veut du bien

David Gageot

Page 2: Git USI 2010

©  Université  du  Système  d’Informa7on

Faisons connaissance

David Gageot et

CTO algodeal.comCrowd Sourced Quant Hedge Fund

@dgageotjavabien.net

Page 3: Git USI 2010

©  Université  du  Système  d’Informa7on

Cas concretsGestion

de sources

Nous allons parler de...

Travailen équipe

Intégrationcontinue

Build

Gain detemps

Page 4: Git USI 2010

©  Université  du  Système  d’Informa7on

Menin Black

Bottesde foin

Yoda

...mais aussi de...

Pausecafé

Page 5: Git USI 2010

©  Université  du  Système  d’Informa7on Photo: http://www.flickr.com/photos/91082225@N00/3271601712

Ca vous va ?

Page 6: Git USI 2010

©  Université  du  Système  d’Informa7on

Genre : Gestion de versionDate de naissance : 2005Créateur : Linus TorvaldLicence : GPL

Signes distinctifs :Pas besoin de serveurChaque utilisateur a une copie de l’historiqueFonctionne en déconnecté

Git

Photo:http://getch.files.wordpress.com/2009/02/mask-linus_torvalds.jpg

Page 7: Git USI 2010

©  Université  du  Système  d’Informa7on

La concurrence

Page 8: Git USI 2010

©  Université  du  Système  d’Informa7on Photo: http://www.flickr.com/photos/zoutedrop/2317065892/

Pas de temps à perdre ?Git en action

Page 9: Git USI 2010

©  Université  du  Système  d’Informa7on 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

Passer la seconde

Je vous fais gagner 1 an

Page 10: Git USI 2010

©  Université  du  Système  d’Informa7on

Pas de retour arrière

Photo: http://www.reconnections.net/redblue_pill.jpg

Page 11: Git USI 2010

©  Université  du  Système  d’Informa7on Photo: http://malcontenta.blog.lemonde.fr/files/2008/06/chaplin-les-temps-modernes.1212659628.jpg

mvn eclipse:eclipse ne fonctionne plus !Depuis quand ? Quelle version ?

Page 12: Git USI 2010

©  Université  du  Système  d’Informa7on Photo: http://www.flickr.com/photos/tarchamps/2835943555/sizes/l/

Tester toutes les versions précédentes ?

Page 13: Git USI 2010

©  Université  du  Système  d’Informa7on

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

Page 14: Git USI 2010

©  Université  du  Système  d’Informa7on

Un petit dessin...

Page 15: Git USI 2010

©  Université  du  Système  d’Informa7on

Tester toutes les versions depuis la fin

13 2456 KOOK

t

Page 16: Git USI 2010

©  Université  du  Système  d’Informa7on

Tester toutes les versions depuis la fin

13 2456

1

Dichotomie

2 3OK KO

KOOK

O(n)

O(log n)

Page 17: Git USI 2010

©  Université  du  Système  d’Informa7on Photo: http://www.wallfizz.com/nature/plaine-et-prairie/2714-botte-de-foin-dans-un-champ-WallFizz.jpg

A la main, ça reste long

Page 18: Git USI 2010

©  Université  du  Système  d’Informa7on Photo: http://farm1.static.flickr.com/154/356715278_0e0cfe107c.jpg

Surtout avec des branches

Page 19: Git USI 2010

©  Université  du  Système  d’Informa7on

Git bisect

(démo)

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

Page 20: Git USI 2010

©  Université  du  Système  d’Informa7on

Git bisect

Page 21: Git USI 2010

©  Université  du  Système  d’Informa7on

«Le build incassable»

Photo: http://4.bp.blogspot.com/_OhGGUzXs2IY/SlcDgkq4riI/AAAAAAAAB3Y/5uoio0yUue8/s1600-h/Affiche+1.jpg

Page 22: Git USI 2010

©  Université  du  Système  d’Informa7on

Intégration continueHudson, Cruise Control, Team City ?

Page 23: Git USI 2010

©  Université  du  Système  d’Informa7on

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

Page 24: Git USI 2010

©  Université  du  Système  d’Informa7on

Un petit script suffit

Page 25: Git USI 2010

©  Université  du  Système  d’Informa7on

Un petit dessin...

Page 26: Git USI 2010

©  Université  du  Système  d’Informa7on

Perso Build privé

Partagé

Sync

puis publie

Teste

Mon Poste de travail

Page 27: Git USI 2010

©  Université  du  Système  d’Informa7on

Plus de pause café pendant le build

Photo: http://farm3.static.flickr.com/2698/4041033176_80072af942.jpg

Page 28: Git USI 2010

©  Université  du  Système  d’Informa7on

branchtig

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

Page 29: Git USI 2010

©  Université  du  Système  d’Informa7on Photo: http://networksecurityip.files.wordpress.com/2007/11/yoda.jpg

«Git demain adopter tu dois»

Page 30: Git USI 2010

©  Université  du  Système  d’Informa7on

Je commence demain

Page 31: Git USI 2010

©  Université  du  Système  d’Informa7on

Git Hub

Page 32: Git USI 2010

©  Université  du  Système  d’Informa7on

GitX

Page 33: Git USI 2010

©  Université  du  Système  d’Informa7on

Un vrai projet

(démo)

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

Page 34: Git USI 2010

©  Université  du  Système  d’Informa7on

Collaborer, ça veut dire quoi ?

Développeurs

Fichiers

Page 35: Git USI 2010

©  Université  du  Système  d’Informa7on Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/

Page 36: Git USI 2010

©  Université  du  Système  d’Informa7on

David Gageotet

CTO algodeal.com Crowd Sourced Quant Hedge Fund

@dgageotjavabien.net

Merci !