Skip to main content

VFS for Git: Git at Enterprise Scale

Make massive repositories feel lightweight and fast

DOWNLOAD FOR WINDOWS

Diagram with Git logo and various files being downloaded

Created by Microsoft to support the development of Microsoft Windows, the largest Git repository on earth.   |  

What is VFS for Git?

The Virtual Filesystem for Git (formerly GVFS) is an open source system that enables Git to operate at enterprise-scale. It makes using and managing massive Git repositories possible.

GET STARTED

Diagram files in the cloud on the left, VFS for Git in the center, and some downloaded local files on the right

How does it work?

VFS for Git virtualizes the filesystem beneath your Git repository so that Git tools see what appears to be a normal repository when, in fact, the files are not actually present on disk. VFS for Git only downloads files as they are needed.

VFS for Git also manages Git's internal state so that it only considers the files you have accessed, instead of having to examine every file in the repository. This ensures that operations like status and checkout are as fast as possible.

LEARN MORE

Why VFS for Git?

Git struggles to handle enterprise-scale repositories. Operations like cloning will slow to a crawl when you have millions of files in a repository, and even something as simple as getting your repository status will leave you waiting.

VFS for Git was created by the Azure DevOps team at Microsoft, specifically to deal with these scale issues for Microsoft's own codebases.

With VFS for Git, developers using Git and Azure DevOps can stay productive, even in mammoth repositories like the Windows operating system, which clocks in at roughly 300 GB (3.5 million files). It's the largest Git repository in the world.

VFS for Git is freely available and Open Source. If your team and your codebase are growing to enterprise-scale, VFS for Git may be a great fit.

Three-up display of logos with Windows, Git, and Azure DevOps

Example: VFS for Git and the Windows repository

Here's a comparison of some common Git actions on the Windows repository with Azure DevOps.

Action Without VFS for Git With VFS for Git
Clone (Bare) 12+ hours 4-5 minutes
Checkout 3 hours 30 seconds
Status 10 minutes 3 seconds
Commit 30 minutes 6 seconds

Git at Scale

The recent migration of the Windows codebase to a single Git repo presented us with some very interesting scale challenges. In this series of articles, we'll discuss each of these challenges in depth, and how we solved them.

READ ARTICLE

Technical Scale Challenges

It's become "common knowledge" that Git struggles with larger repos, but what does that mean, exactly? In this article, we'll break dows the challenges Git faces when scaling to large repos.

READ ARTICLE

VFS for Git Design History

In this article, we'll cover how we arrived at the need for VFS for Git and the alternatives that we looked at along the way.

READ ARTICLE

Trusted by:

Azure DevOps logo Visual Studio logo
GitTower logo GitKraken logo
(Coming soon)
GMaster logo
SourceTree logo Bitbucket logo GitHub logo

License

VFS for Git is Open Source, available under an MIT license.

Contribute

See the repository on GitHub.