Earlier this month, during the 2020 edition of .NET Conf, Microsoft released the latest version of Visual Studio for Windows. The new version included several improvements related to .NET 5 (simultaneously released at the same event). However, one of the most critical features of this release was what Microsoft called "The Git Experience": a set of tools that makes Git the default source control experience in Visual Studio 2019. The new features allow the developer to control a Git repository directly from Visual Studio, reducing context-switching.
Microsoft first announced the new git tooling earlier this year, in March. Since then, the Visual Studio development team has used the community feedback to refine the user interface and work on the new features. With its official release at the .NET Conf, Git Experience replaced Team Explorer as the standard version control toolset for Visual Studio.
Git Experience allows a developer to add their local code to Git with a single click. The new integrated GitHub sign-in flow can already be used, and the local code can be added to any git-based repository (including GitHub). All basic features one would expect from a Git GUI are also accessible from a new top-level Git menu: a listing of locally cloned repositories, basic Git operations, and repository configuration.
With productivity increase in mind, the new features also include an automatic code loading feature (which scans any cloned repository for solution files), visual indicators (showing all incoming and outcoming commits), and visual tagging for multiple remotes. The branch history interface also allows the developer to perform operations like merge, rebase, reset, and cherry-pick with a right-click.
Another useful feature of this release is the enhanced merge conflict resolution. Any merge conflicts can be solved through a guided visual process, and a three-view merge editor shows the expected resulting code as the conflicts are individually solved. Git Experience also allows the developer to customize Git global and repository settings from Visual Studio.
Source: Microsoft
The new Git tooling is an important development in Visual Studio, especially considering other GitHub-related features released this year (like GitHub Actions for Azure). As a visual Git interface, the Git Experience is nowhere near as complete as other Git GUIs such as GitKraken (which is expected). On the other hand, it is a crucial productivity feature for .NET developers, reducing context-switching by bringing common source control workflows to Visual Studio. It also marks another step towards the complete integration of GitHub into Microsoft's development ecosystem: the original release announcement states that "this is just the beginning," so we probably can expect further GitHub integration and new functionalities in the near future.
The Git Experience is available as the default source control experience in Visual Studio 2019 as of version 16.8. It is essential to notice that while there are no references of the Git Experience being supported by any other platform than Windows, it is still possible to use Git and Subversion repositories with Visual Studio 2019 for Mac.