quand git rencontre tfs, que peut-on en attendre ?
DESCRIPTION
On parle de plus en plus de gestionnaire de version « distribué » (DVCS). Git en particulier devient le DVCS de référence, y compris dans les outils Microsoft (Visual Studio, TFS, CodePlex, et même Azure pour le déploiement). Nous reverrons l'évolution qu'ont suivi les gestionnaire de version, des prémices des VCS jusqu'aux DVCS, pour répondre à cette question : Pourquoi cet engouement envers les DVCS, en quoi sont-ils si différents de TFVC en usage professionnel ? Ensuite, nous verrons comment GIT s’intègre avec les autres fonctionnalités de Visual Studio 2013 et Team Foundation Server 2013 et ce que cela peut changer concrètement dans la manière de travailler avec Team Foundation Server. Speakers : François Bouteruche (Orange Business Services), Guillaume Collic (Sodewiva)TRANSCRIPT
![Page 1: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/1.jpg)
![Page 2: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/2.jpg)
Code/Developpement
Quand Git rencontre TFS,
que peut-on en attendre ?
Guillaume Collic & François Bouteruche
![Page 3: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/3.jpg)
Code/developpement#mstechdays
FrançoisBouteruche
GuillaumeCollic
Casting
![Page 4: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/4.jpg)
Code/developpement#mstechdays
• Architecte .NET et évangéliste ALM
• Administrateur Cloud TFS OBS• http://francoisbouteruche.wordpress.
com
• @fbouteruche
François Bouteruche
![Page 5: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/5.jpg)
Code/developpement#mstechdays
• Développeur et Coach Agile• Microsoft ALM MVP• http://www.guillaumecollic.com• [email protected]• @gcollic• Indépendant
Guillaume Collic
![Page 6: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/6.jpg)
Code/developpement#mstechdays
• 45 minutes, c’est court !• Vision globale• Pointeurs
Objectifs
![Page 7: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/7.jpg)
Code/developpement#mstechdays
• Ce que l'on attend d'un gestionnaire de source (VCS)
• Réponses différentes des VCS distribués (DVCS) à ces attentes
• Travailler avec Git et TFS au quotidien• Pour aller plus loin
Plan
![Page 8: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/8.jpg)
Code/developpement#mstechdays
![Page 9: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/9.jpg)
Code/developpement#mstechdays
✔ Tests├✔ Test1 Success├✔ Test2 Success├✔ Test3 Success
![Page 10: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/10.jpg)
Code/developpement#mstechdays
✘ Tests 1 test failed├✔ Test1 Success├✔ Test2 Success├✔ Test3 Success├✘ Test4 Failed
![Page 11: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/11.jpg)
Code/developpement#mstechdays
✘ Tests 4 tests failed├✘ Test1 Failed├✘ Test2 Failed├✘ Test3 Failed├✘ Test4 Failed
![Page 12: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/12.jpg)
Code/developpement#mstechdays
![Page 13: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/13.jpg)
Code/developpement#mstechdays
![Page 14: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/14.jpg)
Code/developpement#mstechdays
![Page 15: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/15.jpg)
Code/developpement#mstechdays
CPOLD
Le gestionnaire de source le plus utilisé au monde
![Page 16: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/16.jpg)
Code/developpement#mstechdays
CP OLD
src
✔ Tests├✔ Test1 Success├✔ Test2 Success├✔ Test3 Success
![Page 17: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/17.jpg)
Code/developpement#mstechdays
CP OLD
src old
✔ Tests├✔ Test1 Success├✔ Test2 Success├✔ Test3 Success
![Page 18: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/18.jpg)
Code/developpement#mstechdays
CP OLD
src old
✘ Tests 1 test failed├✔ Test1 Success├✔ Test2 Success├✔ Test3 Success├✘ Test4 Failed
![Page 19: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/19.jpg)
Code/developpement#mstechdays
CP OLD
src old
✘ Tests 4 tests failed├✘ Test1 Failed├✘ Test2 Failed├✘ Test3 Failed├✘ Test4 Failed
![Page 20: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/20.jpg)
Code/developpement#mstechdays
CP OLD
old
![Page 21: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/21.jpg)
Code/developpement#mstechdays
CP OLD
src
✔ Tests├✔ Test1 Success├✔ Test2 Success├✔ Test3 Success
![Page 22: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/22.jpg)
Code/developpement#mstechdays
![Page 23: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/23.jpg)
Code/developpement#mstechdays
• Un filet de sécurité pour revenir en arrière
Un VCS est
![Page 24: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/24.jpg)
Code/developpement#mstechdays
![Page 25: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/25.jpg)
Code/developpement#mstechdays
src
![Page 26: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/26.jpg)
Code/developpement#mstechdays
src
![Page 27: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/27.jpg)
Code/developpement#mstechdays
src livraison1 livraison2
![Page 28: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/28.jpg)
Code/developpement#mstechdays
![Page 29: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/29.jpg)
Code/developpement#mstechdays
• Un filet de sécurité pour revenir en arrière
• Un référentiel commun
Un VCS est
![Page 30: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/30.jpg)
Code/developpement#mstechdays
Et là …
![Page 31: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/31.jpg)
Code/developpement#mstechdays
![Page 32: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/32.jpg)
Code/developpement#mstechdays
Mon travail !Écrasé !
![Page 33: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/33.jpg)
Code/developpement#mstechdays
Outils dédiés
1990 1994 2000 2005 2014
CVS
TFVC( )
![Page 34: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/34.jpg)
Code/developpement#mstechdays
VCS client – serveur (centralisé)
Serveur
Bob Tom Léa
![Page 35: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/35.jpg)
Code/developpement#mstechdays
Serveur
Commandes de bases
V 0.50
V 0.51
V 0.52
Bob
Get
![Page 36: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/36.jpg)
Code/developpement#mstechdays
Commandes de bases
Bob
Get
V 0.51V 0.51
V 0.51
Serveur
V 0.50
V 0.51
V 0.52
![Page 37: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/37.jpg)
Code/developpement#mstechdays
Commandes de bases
Bob
V 0.51V 0.51
V 0.51
Serveur
V 0.50
V 0.51
V 0.52
![Page 38: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/38.jpg)
Code/developpement#mstechdays
Commandes de bases
Bob
V 0.51V 0.51
V 0.51
(Checkout)
Serveur
V 0.50
V 0.51
V 0.52
![Page 39: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/39.jpg)
Code/developpement#mstechdays
Commandes de bases
Bob
Checkin
V 0.51V 0.51
V 0.51
Serveur
V 0.50
V 0.51
V 0.52
![Page 40: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/40.jpg)
Code/developpement#mstechdays
Serveur
Commandes de bases
V 0.50
V 0.51
V 0.52
Bob
Checkin
V 0.51V 0.51
V 0.51
V 0.53
![Page 41: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/41.jpg)
Code/developpement#mstechdays
Commandes de bases
Bob
V 0.51V 0.51
V 0.51
Serveur
V 0.50
V 0.51
V 0.52
V 0.53
![Page 42: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/42.jpg)
Code/developpement#mstechdays
Gestion des conflitsDével.Get V 0.53
Checkin? Conflit !
Fusion
V 0.55
Checkin? Succès !
V 0.54 !!
![Page 43: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/43.jpg)
Code/developpement#mstechdays
• Un filet de sécurité pour revenir en arrière
• Un référentiel commun• Une aide à la gestion des conflits
Un VCS est
![Page 44: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/44.jpg)
Code/developpement#mstechdays
![Page 45: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/45.jpg)
Code/developpement#mstechdays
• Un filet de sécurité pour revenir en arrière
• Un référentiel commun• Une aide à la gestion des conflits
Un VCS est
![Page 46: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/46.jpg)
Code/developpement#mstechdays
Filet de sécurité⇒ commit
⇒ mise en commun
Problème 1
![Page 47: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/47.jpg)
Code/developpement#mstechdays
Problème 2Dével.Get V 0.53
Checkin? Conflit !
Fusion
V 0.55
Checkin? Succès !
V 0.54 !!
On a toujours pas commité ! Mise en commun sans filet
de sécurité
![Page 48: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/48.jpg)
Code/developpement#mstechdays
Secret de codeurs
http://geekandpoke.typepad.com/geekandpoke/2010/10/being-a-code-made-easy-chapter-1.html
![Page 49: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/49.jpg)
Code/developpement#mstechdays
Secret de codeurs
http://geekandpoke.typepad.com/geekandpoke/2010/10/being-a-code-made-easy-chapter-1.html
![Page 50: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/50.jpg)
Code/developpement#mstechdays
Secret de codeurs
http://geekandpoke.typepad.com/geekandpoke/2010/10/being-a-code-made-easy-chapter-1.html
![Page 51: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/51.jpg)
Code/developpement#mstechdays
DVCS
Gestionnaire de source distribué
![Page 52: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/52.jpg)
Code/developpement#mstechdays
Les VCS client - serveur
Serveur
Bob Tom Léa
![Page 53: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/53.jpg)
Code/developpement#mstechdays
Bob Tom Léa
Les DVCS (VCS distribués / décentralisés)
Serveur
Bob Tom Léa
![Page 54: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/54.jpg)
Code/developpement#mstechdays
• En théorie toutes les configurations sont possibles
• Mais ce n’est pas le plus important en entreprise !
Les DVCS (VCS distribués / décentralisés)
Dépôt officiel
DéveloppeurResponsable
module AResponsable module B
Azure
![Page 55: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/55.jpg)
Code/developpement#mstechdays
Bob Tom Léa
• la plupart du temps !
Les DVCS (VCS distribués / décentralisés)
Serveur
Bob Tom Léa
![Page 56: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/56.jpg)
Code/developpement#mstechdays
Dépôt distant
Commandes de bases
V 0.50
V 0.51
V 0.52
Clone
![Page 57: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/57.jpg)
Code/developpement#mstechdays
Commandes de basesClone
Dépôt distantV 0.50
V 0.51
V 0.52
Dépôt local
V 0.50
V 0.51
V 0.52
![Page 58: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/58.jpg)
Code/developpement#mstechdays
Commandes de bases
Dépôt distantV 0.50
V 0.51
V 0.52
Dépôt local
V 0.50
V 0.51
V 0.52
![Page 59: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/59.jpg)
Code/developpement#mstechdays
Commandes de bases
Checkout
Dépôt distantV 0.50
V 0.51
V 0.52
Dépôt local
V 0.50
V 0.51
V 0.52
![Page 60: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/60.jpg)
Code/developpement#mstechdays
Commandes de bases
V 0.51V 0.51
V 0.51
Checkout
Dépôt distantV 0.50
V 0.51
V 0.52
Dépôt local
V 0.50
V 0.51
V 0.52
![Page 61: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/61.jpg)
Code/developpement#mstechdays
Commandes de bases
V 0.51V 0.51
V 0.51
Dépôt distantV 0.50
V 0.51
V 0.52
Dépôt local
V 0.50
V 0.51
V 0.52
![Page 62: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/62.jpg)
Code/developpement#mstechdays
Commandes de bases
V 0.51V 0.51
V 0.51
Dépôt distantV 0.50
V 0.51
V 0.52
Dépôt local
V 0.50
V 0.51
V 0.52
![Page 63: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/63.jpg)
Code/developpement#mstechdays
Commandes de bases
V 0.51V 0.51
V 0.51
Commit
Dépôt distantV 0.50
V 0.51
V 0.52
Dépôt local
V 0.50
V 0.51
V 0.52
![Page 64: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/64.jpg)
Code/developpement#mstechdays
Commandes de bases
V 0.51V 0.51
V 0.51
Commit
Dépôt distantV 0.50
V 0.51
V 0.52
Dépôt local
V 0.50
V 0.51
V 0.52
V 0.54
![Page 65: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/65.jpg)
Code/developpement#mstechdays
Commandes de bases
V 0.51V 0.51
V 0.51
Push
Dépôt distantV 0.50
V 0.51
V 0.52
Dépôt local
V 0.50
V 0.51
V 0.52
V 0.54
![Page 66: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/66.jpg)
Code/developpement#mstechdays
Commandes de bases
V 0.51V 0.51
V 0.51
Push
Dépôt local
V 0.50
V 0.51
V 0.52
V 0.54
Dépôt distantV 0.50
V 0.51
V 0.52
V 0.54
![Page 67: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/67.jpg)
Code/developpement#mstechdays
Commandes de bases
V 0.51V 0.51
V 0.51
Dépôt local
V 0.50
V 0.51
V 0.52
V 0.54
Dépôt distantV 0.50
V 0.51
V 0.52
V 0.54
![Page 68: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/68.jpg)
Code/developpement#mstechdays
Dépôt distant
Gestion des conflits
Dépôt local
V 0.51V 0.51
V 0.51V 0.54 V 0.54
FetchCheckou
t
![Page 69: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/69.jpg)
Code/developpement#mstechdays
Dépôt distant
Gestion des conflits
Dépôt local
V 0.51V 0.51
V 0.51V 0.54 V 0.54
![Page 70: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/70.jpg)
Code/developpement#mstechdays
Dépôt distant
Gestion des conflits
Dépôt local
V 0.51V 0.51
V 0.51V 0.54 V 0.54
Dével.Commit
intermédiaire
Modif A
![Page 71: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/71.jpg)
Code/developpement#mstechdays
Dépôt distant
Gestion des conflits
Dépôt local
V 0.51V 0.51
V 0.51V 0.54 V 0.54
Dépôt de Léa
Modif B Modif A
![Page 72: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/72.jpg)
Code/developpement#mstechdays
Dépôt distant
Gestion des conflits
Dépôt local
V 0.51V 0.51
V 0.51V 0.54 V 0.54
Dével.Commit
intermédiaire
Modif B Modif A
Modif C
![Page 73: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/73.jpg)
Code/developpement#mstechdays
Dépôt distant
Gestion des conflits
Dépôt local
V 0.51V 0.51
V 0.51V 0.54 V 0.54
Modif B Modif A
Modif C
![Page 74: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/74.jpg)
Code/developpement#mstechdays
Dépôt distant
Gestion des conflits
Dépôt local
V 0.51V 0.51
V 0.51V 0.54 V 0.54
Modif B Modif A
Modif C
Fetch
Modif B
![Page 75: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/75.jpg)
Code/developpement#mstechdays
Dépôt distant
Gestion des conflits
Dépôt local
V 0.51V 0.51
V 0.51V 0.54 V 0.54
Modif B Modif A
Modif C
Modif B
![Page 76: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/76.jpg)
Code/developpement#mstechdays
Dépôt distant
Gestion des conflits
Dépôt local
V 0.51V 0.51
V 0.51V 0.54 V 0.54
Modif B Modif A
Modif C
Modif B
MergeFusion
=> avec filets de sécurité
![Page 77: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/77.jpg)
Code/developpement#mstechdays
Dépôt distant
Gestion des conflits
Dépôt local
V 0.51V 0.51
V 0.51V 0.54 V 0.54
Modif B Modif A
Modif C
Modif B
Push
Fusion
![Page 78: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/78.jpg)
Code/developpement#mstechdays
Gestion des conflits
Dépôt local
V 0.51V 0.51
V 0.51V 0.54
Modif A
Modif C
Modif B
Push
Fusion
Dépôt distant
V 0.54
Modif A
Modif C
Modif B
Fusion
![Page 79: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/79.jpg)
Code/developpement#mstechdays
Gestion des conflits
Dépôt local
V 0.51V 0.51
V 0.51V 0.54
Modif A
Modif C
Modif B
Fusion
Dépôt distant
V 0.54
Modif A
Modif C
Modif B
Fusion
![Page 80: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/80.jpg)
Code/developpement#mstechdays
• Comme avant– Je pousse sur le
référentiel commun– Dès que possible– En respectant les
critères de mon organisation• Compilation• Tests unitaires• Qualité du code
Bob Tom Léa
DVCS : workflow organisationnel
Dépôt commun
Dépôt de Bob
Dépôt de
Tom
Dépôt de Léa
![Page 81: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/81.jpg)
Code/developpement#mstechdays
• En plus, j’ai gagné le commit local– Autant de filet de sécurité
que voulu– Pas forcément à la cible
finale– Des commandes qui
deviennent quasi-instantanées car locales• Commit, log, diff…
Bob Tom Léa
DVCS : workflow personnel
Dépôt commun
Dépôt de Bob
Dépôt de
Tom
Dépôt de Léa
![Page 82: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/82.jpg)
Code/developpement#mstechdays
![Page 83: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/83.jpg)
Code/developpement#mstechdays
TFS 2013
Éléments de
travail
Gestion de version
VCS :TFVC
DVCS :Git
Build …
![Page 84: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/84.jpg)
démo
Code/developpement#mstechdays
TRAVAILLER AVEC GIT ET TFSAU QUOTIDIENUne évolution oui, une révolution non !
![Page 85: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/85.jpg)
Code/developpement#mstechdays
• Mon client préféré® veut faire des évolutions sur son application– il souhaite que je parte du code de l’application
existante– il souhaite que je travaille sur mes infrastructures de
développement– il souhaite pouvoir récupérer à tout moment le code
source et l’historique de son évolution
• Tiens, ça m’évoque les problèmes de réversibilité et de reprise de TMA !?
Au début, il y avait du code source
![Page 86: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/86.jpg)
Code/developpement#mstechdays
• Dans le meilleur des cas, Mon client préféré® est déjà sous Git– Super, je vais juste à avoir à cloner son dépôt et
à l’intégrer dans mon dépôt TFS
• Dans le pire des cas, mon client utilise la méthode CP old et je vais créer moi-même un dépôt Git
Au début, il y avait du code source
![Page 87: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/87.jpg)
Code/developpement#mstechdays
• Dans TFS, tout se passe dans les projets d’équipe
N’oublions pas de créer le projet d’équipe
![Page 88: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/88.jpg)
Code/developpement#mstechdays
• On clone le dépôt distant en local
Récupérons le dépôt de Mon client préféré®
![Page 89: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/89.jpg)
Code/developpement#mstechdays
• On reconfigure l’url d’origine du dépôt local avec celle du dépôt TFS
Initialisons notre dépôt TFS
![Page 90: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/90.jpg)
Code/developpement#mstechdays
• On synchronise notre dépôt local avec le dépôt TFS
Initialisons notre dépôt TFS
![Page 91: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/91.jpg)
Code/developpement#mstechdays
• Dans la base de données SQL Server !• L’intégration de Git avec TFS est
transparente du point de vue du plan de sauvegarde
• L’intégralité du dépôt est sauvegardé– Dans SQL Server– Sur chaque poste ayant un clone du dépôt (!
Sécurité !)
Mais où est stocké mon dépôt TFS
![Page 92: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/92.jpg)
Code/developpement#mstechdays
• Vous pouvez (devez ?) associez un work item– À votre commit
• Quand vous avez fini de développez une feature dans une branche c’est le moment de merger avec la branche master
• Vos collègues n’ont plus qu’à puller
Je commit, je push, tu pull
![Page 93: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/93.jpg)
Code/developpement#mstechdays
• Les membres de l’équipe peuvent cloner le dépôt TFS
Et maintenant, collaborons !
![Page 94: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/94.jpg)
Code/developpement#mstechdays
• N’ayez plus peur de faire des branches– Elles sont légères– Le merge est vraiment performant– Elles peuvent être locales (personne ne verra
que vous êtes branchés)– Elles peuvent être publiées pour partager
• N’hésitez plus à brancher chaque feature
Git et TFS, ça me branche !
![Page 95: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/95.jpg)
Code/developpement#mstechdays
LE JEU DES 7 DIFFÉRENCES
![Page 96: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/96.jpg)
Code/developpement#mstechdays
• TFVC– Get, checkout, …
• Git pur– Pull, checkout, commit, …
• Git dans Visual Studio– Sync, commit, …
=> Notions différentes
Le vocabulaire
![Page 97: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/97.jpg)
Code/developpement#mstechdays
• Gated Check-In• Code Review• File History Annotation• My work• Source Control Explorer• Pas de multi-remote
Git dans VS ne permet pas encore tout
![Page 98: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/98.jpg)
Code/developpement#mstechdays
FAIRE LE SAUT
Être outillé
![Page 99: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/99.jpg)
Code/developpement#mstechdays
TFVC• Un seul gros dépôt de
source
• Des dossiers pour les différentes parties
• Mapping partiel de sous dossiers
• Pas de problème technique pour mettre de gros binaires
Git• Séparer en plusieurs petits
dépôts
• Pas de clone partiel : tout ou rien
• Pas de gros binaires
Structuration de vos (gros) projets
![Page 100: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/100.jpg)
Code/developpement#mstechdays
Visual Studio Git Extensions
Attention aux faux-amis
![Page 101: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/101.jpg)
Code/developpement#mstechdays
Git Extensions (ou d’autres, SourceTree, CLI, etc)
Très bien, mature et pédagogique pour les équipes habitués aux interfaces graphiques
• Rebase• etc
![Page 102: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/102.jpg)
Code/developpement#mstechdays
Construisons un pont entre Git et TFVC
![Page 103: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/103.jpg)
Code/developpement#mstechdays
• http://git-tfs.com• http://gittf.codeplex.com/
TFVCcentral
Ponts entre Git et TFVC
Checkin
Checkin
Checkin
Gitlocal
Commit
Commit
Commit
V 0.51V 0.51
V 0.51
![Page 104: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/104.jpg)
Code/developpement#mstechdays
LA FIN EST PROCHE
En conclusion
![Page 105: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/105.jpg)
Code/developpement#mstechdays
• François, habitué à TFVC et adepte des outils graphiques
• Guillaume, habitué à Git avant son intégration à VS, graphique ou CLI
Git & Visual Studio
Travaillent ensemble sur le même projet ,sans accroc, chacun avec ses pratiques
![Page 106: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/106.jpg)
Code/developpement#mstechdays
• Nous n’avons pas parlé de– Rebase– Staging– Sous-modules– Bisect– Stash– Et plein d’autres choses
45 minutes, c’est court
![Page 107: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/107.jpg)
Code/developpement#mstechdays
• Comprendre Git plus en profondeur– http://presentation-git.heroku.com par gitfr /
Sébastien Douche
• Site officiel et livre français gratuit– http://git-scm.com / http://git-scm.com/book/fr
• Dépôt Git en ligne gratuit– Visual Studio Online http://www.visualstudio.com
Pour aller plus loin
![Page 108: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/108.jpg)
Code/developpement#mstechdays
Depuis votre smartphone sur :http://notes.mstechdays.fr
De nombreux lots à gagner toute les heures !!!Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les Techdays !
Donnez votre avis !
![Page 109: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/109.jpg)
Code/developpement#mstechdays
• Comprendre Git plus en profondeur– http://presentation-git.heroku.com par gitfr /
Sébastien Douche
• Site officiel et livre français gratuit– http://git-scm.com / http://git-scm.com/book/fr
• Dépôt Git en ligne gratuit– Visual Studio Online http://www.visualstudio.com
Questions ?
![Page 110: Quand GIT rencontre TFS, que peut-on en attendre ?](https://reader036.vdocuments.net/reader036/viewer/2022081413/547fb2e0b4af9fe54f8b456e/html5/thumbnails/110.jpg)
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Digital is business