Quelles sont les grandes différences entre TFS et Git pour le contrôle source lors de L'utilisation de Visual Studio 2013?

il y a des tonnes de questions et de réponses sur Git par rapport au contrôle à la Source TFVC, mais aucune réponse actuelle étant donné l'intégration de git dans le serveur/Service de la fondation de L'équipe que je peux trouver.

je commence à développer green pasture en utilisant une grande variété de langues (C#, C++, PHP, Javascript, MySSQL) en utilisant Visual Studio 2013. À l'avenir, il y aura un certain développement d'iOS. Je suis très familier avec SVN, VSS et TFS pour le contrôle source. Cependant, je n'ai jamais Git usagé. Je préfère TFS pour la gestion de processus / développement agile... Ce n'est pas parfait, mais il s'intègre bien dans Visual Studio.

donc, pour m'aider à décider entre ces deux systèmes...

quelles sont les grandes différences entre TFS et Git pour le contrôle source lors de L'utilisation de Visual Studio 2013?

  • est le seul avantage dans mon cas un dépôt local (ne disant pas qu'il est insignifiant) et le soutien au développement iOS?
  • est le seul inconvénient de Git l'interface en ligne de commande (certains diront que ce n'est pas un inconvénient ;-P).
  • avez-vous expérimenté dans L'interface graphique Visual Studio 2013 pour Git? Est-ce suffisant pour prendre en charge la ramification/fusion de base sans l'interface en ligne de commande?
  • y a-t-il un guide de démarrage détaillé pour Git qui montre que Git est utilisé avec Visual Studio 2013? Microsoft a une vidéo pour intégrer un dépôt Git existant dans Visual Studio 2013, mais je suis à la recherche d'un début à partir de zéro avec Git et VS 2013.

Je ne cherche pas un livre ici, mais juste quelques points et peut-être quelques liens pertinents de gens qui ont utilisé à la fois TFS et Git.

91
demandé sur Aknosis 2013-11-21 01:46:31

3 réponses

quelles sont les grandes différences entre TFS et Git pour le contrôle à la source lorsqu'on utilise VS 2013?

MSDN a une page très vaste sur toutes les caractéristiques et les différences entre le contrôle de Version de la fondation de L'équipe et Git .

est le seul avantage dans mon cas un dépôt local (ne disant pas que c'est insignifiant) et le soutien au développement IoS?

Non, il y a beaucoup plus, mais ils sont souvent des scénarios avancés de Git. Repo locale, support hors ligne et fidélité locale totale sur l'histoire est incroyablement puissant, vous obtenez que de la boîte avec Visual Studio. Il ya quelques autres caractéristiques qui sont grands aussi! La possibilité de se connecter et de fusionner d'un dépôt à un autre est très puissante. Je vous recommande de consulter le Pro Git book pour ceux-ci. Git dans TFS est juste un autre serveur git, il a à peu près toutes les fonctionnalités que le Git standard.

la possibilité de réécrire l'histoire avant de fusionner vous permet d'enlever ou de combiner un certain nombre de plus petits ensembles de changement, de sorte que l'histoire est plus propre et plus facile à lire en tant qu'humain.

est le seul inconvénient de Git l'interface en ligne de commande (certains diront que ce n'est pas un inconvénient ;-P).

TFVC a une ligne de commande aussi, les gens ne l'utilisent tout simplement pas. Pour les personnes qui veulent utiliser Git et ne jamais faire beaucoup plus que TFVC fait, ils ne seront probablement pas vraiment besoin de quitter L'interface utilisateur, ils ne seront pas obtenir beaucoup des fonctionnalités cool si...

il pourrait y avoir quelques autres inconvénients, principalement en raison du fait que c'est différent de ce à quoi les gens sont habitués. Ce n'est pas difficile de se tirer une balle dans le pied si vous ne prenez pas le temps d'apprendre ce que fait git quand vous faites des choses. Des choses comme Rebase et Squash sont vraiment puissantes et créent une histoire très propre, mais cela peut laisser les gens avec le problème qu'ils ne peuvent plus fusionner s'ils sont utilisés incorrectement. TFS a la capacité de mettre certains paramètres de sécurité pour enlever les droits de prendre des décisions très stupides sur un dépôt git .

un add-on très cool pour les utilisateurs Git sur Windows est PoSHGit . il fournit l'autocomplétion de commande sur la ligne de commande Powershell.

avez-vous déjà fait L'expérience de L'interface graphique git VS 2013? Être cela suffit-il pour prendre en charge la ramification/fusion de base sans l'interface en ligne de commande?

il a tout ce dont vous avez besoin pour les opérations de base. Mais vous devez être capable de visualiser les différentes branches pour savoir ce qui se passe. Comme le serveur Git et le repo local ne sont que Git, n'importe quel client git peut vous aider ici. SourceTree est une option ici. Le client Git for Windows en est un autre.

pour les opérations standard, check - in, check-out, merge, branche (ou pousser, tirer, extraire, de valider, de fusion) de l'INTERFACE utilisateur fonctionne très bien.

y a-t-il un guide de démarrage détaillé pour le Git qui montre que le GIT est utilisé avec VS 2013? MS a une vidéo pour intégrer un repo Git existant dans VS 2013, mais je suis à la recherche d'un départ à partir de zéro avec Git et VS 2013?

commençant par Git est disponible dans un certain nombre d'endroits... Ce sont quelques options:

autres marchandises se lisent:

et quelques outils à installer:

108
répondu jessehouwing 2017-07-04 09:48:51

pour clarifier une terminologie mixte qui prête à confusion qui est utilisée beaucoup avec TFS

"

Team Foundation Server (TFS) est un outil de gestion du cycle de vie de l'application, qui comprend a source composant du système de contrôle de version (VCS) .

le VCS composant que TFS utilise est principalement Team Foundation Version Control (TFVC)

donc, la question serait TFVC vs Git

"

(en fait, TFS supporte Git comme une VCS option.)

donc, la question Est: TFVC vs Git

jessehouwing a une grande réponse qui couvre cela dans le détail, donc prière de mentionner que

en ce qui concerne le choix de l'utilisation, à mon avis git gagne dans chaque scénario.

  1. il est léger: simple à configurer et à utiliser.
  2. c'est distribué nature signifie qu'il est très résistant aux catastrophes, quelqu'un aura toujours une copie de la pension.
  3. le travail hors ligne est simple, vous travaillez avec votre propre dépôt complet. Vous pouvez valider les changements, revenir en arrière, de parcourir l'histoire, etc. Vous avez seulement besoin d'être en ligne lorsque vous souhaitez synchroniser avec un dépôt distant.
  4. Les options de la ligne de commande git
  5. sont très puissantes mais aussi intuitives. Ça rend les scripts faciles.
  6. dans TFS il n'y a pas de moyen simple pour enregistrer l'état de vos modifications (ajouts de fichiers, modifications, suppressions de fichiers), et passer à un autre État de code. (Par exemple, travailler sur deux caractéristiques et basculer d'avant en arrière). Dans git, il vous suffit de la caisse d'une autre branche.
8
répondu James Wierzba 2018-03-27 16:36:39

est le seul inconvénient de Git l'interface en ligne de commande (certains diront que ce n'est pas un inconvénient ;-P).

si vous n'êtes pas à l'aise avec l'interface en ligne de commande, il y a plusieurs interfaces graphiques disponibles pour Git. Git lui-même contient en fait l'outil GUI navigateur appelé gitk et git-gui - une GUI pour git. Ensuite, il y a des applications tierces telles que git-cola , TortoiseGit et autres .

4
répondu kralyk 2016-05-23 10:53:21