What’s the difference between Team Foundation Service and Git?

Asked

Viewed 2,516 times

3

I want to know the difference between Git and TFS, because I don’t understand if the two are version control systems or just Git is a version control system while TFS is a web application to host Git repositories.

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 a central server, more build servers, deploy, reports, among others. It is included in the MSDN license, most common in companies, that is, if you have a Visual Studio license with MSDN, you have a TFS, and it can be used by the whole team. Further licensing details, see Microsoft Visual Studio Licensing. There is also a Community version, for up to 5 users, for free use.

Git, on the other hand, is a DVCS, or Distributed Version Control System, or a decentralized source code versioner, and... just! It does not build, deploy, etc... That being said, it doesn’t make sense to compare one to the other directly, so let’s compare Git with the TFS source version, which contains 2 types. That’s right, in TFS you can choose, when creating a Team Project to host your application code, between 2 versors:

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

While TFS offers integration with the Visual Studio (VS) IDE through Team Explorer (TE), it is not unique to Visual Studio. 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... He’s language agnostic, and with Git, he’s 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.

Besides the Community version, to test the product without doing any installation, it is possible to use for up to 5 users, also, the version Saas, free of charge! which has the same functionality as TFS on-premises, Visual Studio Team Services, with Services at the end. One can start small with this version, and if it is necessary to increase the number of user will be charged for each one that enters.

3

Both are version controllers that we can say are concurrent.

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

Therefore some operations are more complicated in one than in another.

TFS has more control over access, more granularity can be handled, and handles large files better, just to name a few key points. In general it works better with the project connected to the repository. It features a more complete version management and project management solution.

Git works better with merge and is usually faster in most operations. It is made to work offline. It’s harder to work with him.

TFS and Git repositories are not directly compatible.

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

TFS is part of what’s called ALM broadly speaking, Git alone is only a small part of project lifecycle management. So the comparison between them only takes place in the version control part.

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

Browser other questions tagged

You are not signed in. Login or sign up in order to post.