With Microsoft’s recent acquisition of GitHub, Git is top-of-mind. Git is a free and open-source distributed version control system. This system has a very different workflow than TFVC, or Team Foundation Version Control, a centralized version control. Git is becoming increasingly popular. Microsoft’s Docs state that you should use Git unless you have a specific reason for using a centralized version control instead. Within Microsoft, the VSTS/TFS teams and Windows team have moved entirely to Git. Why would someone choose to make the switch from centralized version control to distributed?


One of the biggest advantages of Git is its branching ability. With centralized version control, branches are expensive and merging is no picnic. With Git, it is the opposite. So, one is able to create a branch for each new code change, thereby ensuring the master branch is always production quality.

Distributed Development

Microsoft’s VSTS/TFS teams are spread all over the globe. The distributed nature of Git allows the team to scale with ease. With centralized version controls, a developer works from their own repo copy that points back at a single central repository. With Git, however, each developer has their own local repository. This repository houses a full history, which allows for commits, inspections, and diffs without a network connection. Like feature branches, distributed development makes for a more reliable experience.

Git is also the default version control for all new projects in TFS and VSTS, but TFVC is still supported (and will continue to be, until stated otherwise). Furthermore, builds with Git have additional functionality that is not available in TFVC, such as using the same build definition for all branches.

These are just a couple reasons why some might make the switch to Git. Bear in mind Git is not the right solution for everyone. For example, Git typically does not handle large binaries well. Or, maybe you have a repository with a very long history that would take up an inordinate amount of disk space for a simple edit. However, if your hang up is not having the right know-how, we can help you there. At PRAKTIK we have experience reorganizing source control. We can assist with the migration from TFVC to Git. The best part? You won’t lose your history. We will do the migration, history and all, teach your team about Git so they can start on the right foot, and support the team until they are comfortable.

If you’re ready to see if Git is the right move for you, contact our team at PRAKTIK and we’ll get you the information and expertise you need to make a decision.