Upload
jean-marc-fontaine
View
1.323
Download
6
Embed Size (px)
Citation preview
RMLL 2011
Gérer son dépôt de code
Qui suis-je ?
» Jean-Marc Fontaine
» Consultant pour Alter Way Consulting
» Président de l'AFUP
» Formateur / Professeur vacataire à l'université de Saint Quentin
» Auteur du blog Industrialisation-PHP.com
» Co-auteur du livre blanc « Industrialisation PHP »
Un outil indispensable
» On ne travaille jamais seul
» On oublie
» On essaye
» On se trompe
» Écrire du code n'est qu'une petite partie du travail
Au cœur de l'usine de développementAu cœur de l'usine de développement
Centralisé ou décentralisé ?Centralisé ou décentralisé ?
Dépôts centralisé
» Approche initiale
» Topologie en étoile
» CVS, Subversion, Perforce, SourceSafe
» Avantages :– Workflows simples à comprendre– Maintenance centralisée– Sécurisation simplifiée
» Inconvénients :– Manque de souplesse– Impossibilité de travailler hors-ligne– Manipulation de l'historique limitée
Dépôts décentralisés
» Approche récente
» Tout le monde est potentiellement client et serveur
» Git, Mercurial, Bazaar
» Avantages :– Possibilité de travailler hors-ligne– Workflows libres– Manipulation de l'historique aisée
» Inconvenients :– Sécurisation plus compliquée– Courbe d'apprentissage plus longue
Un ou plusieurs dépôts ?Un ou plusieurs dépôts ?
22/07/11 ALTER WAY - Titre
Un dépôt
» Gestion des accès facilité
» Dépôt potentiellement très gros
» Difficulté à gérer finement les droits
» Impossible à faire avec Git
22/07/11 ALTER WAY - Titre
Plusieurs dépôts
» Multiplication des accès
» Facilité à définir des droits fins
» Les projets sont indépendants
22/07/11 ALTER WAY - Titre
Sécuriser son dépôt
» Gérer les accès
» Gérer les droits
» Gérer la communication– Utiliser HTTPS ou SSH
Organiser son dépôtOrganiser son dépôt
22/07/11 ALTER WAY - Titre
Gérer les branches (1/2)
» Branche par version / par fonctionnalités
22/07/11 ALTER WAY - Titre
Gérer les branches (2/2)
» Approche hybride
http://nvie.com/posts/a-successful-git-branching-model/
22/07/11 ALTER WAY - Titre
Gérer les tags
» Les utiliser
» Les nommer de manière cohérente– RELEASE_1.0.0– v1.0.3rc3
» Ne jamais commiter sur un tag
22/07/11 ALTER WAY - Titre
Politique de commit
» Toujours mettre un message concis et pertinent
» Faire des commits atomiques
» Utiliser le message de commit pour interagir avec d'autres outils
22/07/11 ALTER WAY - Titre
Intégrer des éléments tiers
» svn:externals
» Submodules Git
22/07/11 ALTER WAY - Titre
Interaction avec l'extérieur
» Hooks
» Messages de commit– #42– Fixes 42– TM45
22/07/11 ALTER WAY - Titre
Manipuler l'historique (1/2)
» Modification des informations de commit
» Reflog Git
22/07/11 ALTER WAY - Titre
Manipuler l'historique (2/2)
» Rebase interactif avec Git
22/07/11 ALTER WAY - Titre
Effectuer la maintenance
» Subversion : dump, hotcopy
» Git : Copie du dépôt
22/07/11 ALTER WAY - Titre
Merci !
» Email : [email protected]
» Twitter : jmfontaine
» Blog : www.jmfontaine.net
» Autre blog : www.industrialisation-php.net