110

Quand GIT rencontre TFS, que peut-on en attendre ?

Embed Size (px)

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)

Citation preview

Page 1: Quand GIT rencontre TFS, que peut-on en attendre ?
Page 2: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

Code/developpement#mstechdays

FrançoisBouteruche

GuillaumeCollic

Casting

Page 4: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

• Architecte .NET et évangéliste ALM

• Administrateur Cloud TFS OBS• http://francoisbouteruche.wordpress.

com

[email protected]

• @fbouteruche

François Bouteruche

Page 5: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

Code/developpement#mstechdays

• 45 minutes, c’est court !• Vision globale• Pointeurs

Objectifs

Page 7: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

Code/developpement#mstechdays

Page 9: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

✔ Tests├✔ Test1 Success├✔ Test2 Success├✔ Test3 Success

Page 10: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

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 ?

Code/developpement#mstechdays

Page 13: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

Page 14: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

Page 15: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

CPOLD

Le gestionnaire de source le plus utilisé au monde

Page 16: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

CP OLD

src

✔ Tests├✔ Test1 Success├✔ Test2 Success├✔ Test3 Success

Page 17: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

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 ?

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 ?

Code/developpement#mstechdays

CP OLD

old

Page 21: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

CP OLD

src

✔ Tests├✔ Test1 Success├✔ Test2 Success├✔ Test3 Success

Page 22: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

Page 23: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

Code/developpement#mstechdays

Page 25: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

src

Page 26: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

src

Page 27: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

src livraison1 livraison2

Page 28: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

Page 29: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

Code/developpement#mstechdays

Et là …

Page 31: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

Page 32: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

Mon travail !Écrasé !

Page 33: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

Code/developpement#mstechdays

VCS client – serveur (centralisé)

Serveur

Bob Tom Léa

Page 35: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

Code/developpement#mstechdays

Page 45: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

Code/developpement#mstechdays

DVCS

Gestionnaire de source distribué

Page 52: Quand GIT rencontre TFS, que peut-on en attendre ?

Code/developpement#mstechdays

Les VCS client - serveur

Serveur

Bob Tom Léa

Page 53: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

Code/developpement#mstechdays

Page 83: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

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 ?

Code/developpement#mstechdays

LE JEU DES 7 DIFFÉRENCES

Page 96: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

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 ?

Code/developpement#mstechdays

FAIRE LE SAUT

Être outillé

Page 99: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

Code/developpement#mstechdays

Visual Studio Git Extensions

Attention aux faux-amis

Page 101: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

Code/developpement#mstechdays

Construisons un pont entre Git et TFVC

Page 103: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

Code/developpement#mstechdays

LA FIN EST PROCHE

En conclusion

Page 105: Quand GIT rencontre TFS, que peut-on en attendre ?

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 ?

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 ?

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 ?

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 ?

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 ?

© 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