What is the difference between Team Foundation Service and Git?

3

I want to know the difference between Git and TFS, because I do not understand if both are version control systems or only Git is a version control system while TFS is a web application for hosting Git repositories.

    
asked by anonymous 16.10.2017 / 02:07

2 answers

4

TFS, Team Foundation Server, not Service, is an Application Lifecycle Management platform. Platform because its architecture is distributed, so in the simplest configuration it is possible to have a single server with multiple services running, and in a more complex one central server, more servers of build, deploy, reports, among others. It is included in the MSDN license, more common in companies, ie if you have a Visual Studio license with MSDN, you have a TFS, and it can be used by the entire team. For more detailed licensing details, see Microsoft Visual Studio Licensing . There is also a Community version, for up to 5 users, free of charge.

Git is a DVCS, ie Distributed Version Control System, ie a decentralized source code versioner, and ... just! It does not build, deploy, etc ... Having said that, it does not make sense to compare directly to each other, so let's compare Git with the TFS source code version, which contains 2 types. That's right, in TFS you can choose, when creating a Team Project to host the code of your application, between 2 versioners:

  • TFVC, Team Foundation Version Control, which is the versioner that comes from the release version of TFS, previously called Version Control only, it is a CVCS, that is, it is centralized. And you have a disconnected work mode, too! But because it is centralized it is not possible to check in locally.
  • Git, which was added in the 2013 version of TFS, so the previous one has changed its name, and it is a DVCS, that is, decentralized, so it allows local commit.

Although TFS offers integration with Visual Studio IDE (VS), through Team Explorer (TE), it is not for Visual Studio use only. There is a version of TE for Eclipse, and it is also possible to use TFS with Deplhi, Python, Ruby, ObjectiveC and on a Mac etc ... It is a language agnostic, and with Git, it gets integrated with the ObjectiveC IDE , because you can use the original Git and still communicate with TFS to send code. All other features are in the Web Access portal, so even from a Linux you can use TFS.

In addition to the Community version, to test the product without doing any installation, it is possible to use up to 5 users also the SaaS , without cost! That has the same functionalities of TFS on-premises , Visual Studio Team Services, that yes with Services at the end . You can start small with this version, and if you need to increase the number of users will be charged for each one you enter.

    
17.10.2017 / 02:56
3

Both are version drivers that we can say are competing.

In essence it's the same difference between Git and SVN. Git is decentralized and TFS is centralized. Of course, their work philosophy is all different. One is to use with Visual Studio together (although you can use it without it), the other one follows the Linux work line.

This is why some operations are more complicated in one than in another.

TFS has more control over access, it can handle more granularity and handle larger files, just to name the main points. Usually works best with the project connected to the repository. It has a more complete version management and project management solution.

Git works best with merge and is usually faster in most operations. It is meant to work offline . It's harder to work with.

TFS and Git repositories are not directly compatible.

TFS has a web version to access code and other project artifacts. Git has something similar provided by third parties.

TFS is part of what is called ALM broadly, since Git alone is only a small part of the the life cycle of the project. So the comparison between them only happens in the version control part.

TFS can be used as a project manager for a Git repository, but it is not common.

    
16.10.2017 / 14:55