Thou shall not waste your time with any other VCS than Git.Colin Pear, The Pharaoh
Your Version Control System (VCS) is the single most foundational tool for your entire software application and has a major impact on your DevOps tool selection. There are many choices:
- Git: GitHub, Azure DevOps Repos, Atlassian’s Bitbucket
- Subversion/SVN
- CVS – Concurrent Versions System
- Mercurial
- and many others with varying popularity.
It is worth noting that as of Q1 2017, Microsoft recommends Git source control technology. As of March 2017, the Windows source code itself is managed in 65 Git repositories, all hosted within Microsoft’s Azure DevOps (formerly TFS) suite of products. With the acquisition of GitHub in June 2018, Microsoft has signaled that it agrees with rest of the industry that Git is the version control system for the modern era.
It becomes very obvious who the industry leader is based on the level of compatibility that has been achieved by Git throughout all the various tooling options. Can you use something other than Git? Certainly, just recognize that tool selection compatibility begins to become a question that you need to routinely ask yourself as you look at other tools for your application stack.
That is why, Git is our top recommendation, whomever the provider that you wish to use. If you have yet to make a selection, our default recommendation is Azure DevOps Repos. Most enterprise software portfolios are already so large that the more you can consolidate the better, ie the full Azure DevOps suite.