3. LE CONTEXTE
2008, chez un éditeur de soft au luxembourg
Le produit est sous Subversion
Différentes versions parralèlles à maintenir (3.9, 4.0,
etc.)
Des versions customs pour certains clients
Application découpée en modules
Equipes de développement dans différents sites (LU,
FR, ZA, SP)
Besoin de développer off-line (dans l'avion, chez un
client, etc. )
4. LE CHOIX DE GIT
Distribué
Workflow adaptable
Intégrations avec nos outils (forge, PIC, etc.)
5. MISE EN PLACE
Workflow basé sur des topic-branches:
un ticket = une branche
Les versions de maintenance sur des branches à long
terme
Roles d'intégrateurs
6. CONTSTAT
Premières semaines difficles (notamment les merges)
pour les non-teckos, mais réglé par une formation
interne d'une demi journée
Outils s'adapte aux processus en places (et non
l'inverse)
Productivité et qualité amélioré après quelques
semaines.
8. 2005
Linus Torvalds initie le projet pour le Kernel Linux car il a
besoin de changer de CVS (BitKeeper) rapidement.
Il décide d'arrêter Linux tant que ce n'est pas fait.
10. RÉALISATION
Démarré le 3 avril 2005
Annoncé le 6 avril 2005
1ère release du Kernel avec GIT, le 16 juin 2005
Le 26 juillet, le projet passe en maintenance et passe
dans les mains de Junio Hamano (toujours mainteneur).
12. DVCS
Complètement distribué
En ligne de commande
Il n'utilise pas de deltas mais des "packfiles", ce qui le
différencie des autres DCVS
Support de gros projets
Fait pour le merge et la gestion des branches
Orienté boite à outils
Bien intégré (par exemple, utilise des protocoles
existants)
20. ... LES BRANCHES
Types
Local
Remote
Local tracking Remote
Utilisation
Topic branches
Long term branches
Worflow based branches
Statégies de fusion
Merge
Rebase
Cherry pick
24. git stash: la cachette
git rebase: faire le ménage
git cherry-pick: la ceuillette aux commits
git submodules: travailler avec plusieurs dépôts
git commit --amend: corriger un commit
git bisect: l'arme ultime pour isoler le commit
fautif