web-dev-qa-db-fra.com

Quelles sont les différences entre TFS, SVN et GIT?

J'utilise Microsoft Visual SourceSafe pour le contrôle de version. Je voudrais changer cette approche et utiliser un logiciel plus récent pour ce travail. Quelles sont les différences entre ces trois applications? Quel est le meilleur?

Ces solutions sont-elles intégrées à Visual Studio?

45
masoud ramezani

TFS est une solution de gestion du cycle de vie des applications, SVN et Git sont uniquement de contrôle de source.

TFS assure le contrôle des sources ainsi que le suivi des problèmes, la gestion des documents, les rapports, l'intégration continue, les laboratoires virtuels pour les tests, etc.

Le contrôle de source et SVN de TFS sont un contrôle de source centralisé, Git est distribué.

Il y a eu de nombreuses discussions sur Stackoverflow à propos de TFS vs SVN.

TFS est le plus étroitement intégré à Visual Studio.

SVN a quelques options tierces pour l'intégration dans Visual Studio et elles sont assez agréables, mais pas aussi étroitement intégrées que TFS.

Git a GitExtensions qui permet un faible niveau d'intégration dans Visual Studio.

113
Michael Shimmins

Mieux est une grande discussion, mais dans le même sens, vous devez tenir compte du coût.

SVN est gratuit, contrairement à TFS. Pourtant; si vous avez votre Visual Studio via un abonnement MSDN et que cela est de assez haut nivea , vous obtiendrez TFS2010 gratuitement via les téléchargements de votre abonnement MSDN lors de sa sortie. Cela peut être un facteur qui fait pencher la balance.

Quant à l'intégration avec Visual Studio, vous ne pouvez pas battre Team Explorer pour TFS. Cependant, j'ai utilisé Anhk avec SVN et cela fonctionne bien aussi. Je pense que le reste a été dit :-)

J'espère que cela t'aides.

9
WestDiscGolf

La question est plutôt ancienne, cependant au cas où quelqu'un tomberait dessus: depuis janvier 2013, git est intégré dans TFS (annonce: http://www.visualstudio.com/en-us/news/2013-jan -30-vso # git support). Cela signifie que l'équipe peut désormais utiliser git comme outil de contrôle source (au lieu, mais pas à côté, du système de contrôle de version TFS "intégré") tout en utilisant le reste de TFS pour des activités telles que l'intégration continue, les problèmes suivi, etc.

Discussion originale sur MSDN: http://blogs.msdn.com/b/visualstudioalm/archive/2013/01/30/getting-started-with-git-in-visual-studio-and-team-foundation -service.aspx

StackOverflow a un large éventail de discussions pertinentes ( https://stackoverflow.com/search?q=tfs+git ), ne peut pointer vers rien de spécifique.

5
Simon Hawkin

Ceci est en plus des autres réponses, pas une réponse complète car Michael Shimmins a satisfait la plupart de ce que je dirais

TFS (en particulier en 2010) est incroyablement accessible pour implémenter des techniques de contrôle de source que vous auriez eu terriblement du mal à exécuter avec VSS. Le branchement et la fusion sont beaucoup plus faciles avec TFS qu'avec SVN pour démarrer et suivre dans le temps. Je dirais la même chose à propos de Git du point de vue de l'interaction avec l'utilisateur, mais ces outils s'améliorent lentement.

Git est un excellent outil si vous passez le temps de montée en puissance et les techniques que la communauté considère comme une pratique standard valent bien l'effort dans tout système de contrôle de version. Vous allez toujours rencontrer des conflits avec les fichiers SLN et CSProj/VBProj dans des équipes de> 2. Ceci est le résultat de la façon dont ces fichiers sont structurés et gérés.

3
Ryan Cromwell

Je ne peux parler que de l'intégration de Visual Studio pour SVN. J'ai utilisé à la fois VisualSVN et AnkhSVN . Ils ont tous deux une intégration assez étroite et vous permettent d'effectuer diverses opérations à partir du menu Explorateur de solutions comme vous l'auriez normalement fait avec VSS. La version 2+ d'Ankh (celle que j'utilise actuellement) a été très stable pour moi et est meilleure que les anciennes versions.

Cela ressemble à une discussion assez détaillée sur l'utilisation de Git avec Visual Studio .

3
R0MANARMY