When comparing Visual Studio vs TortoiseGit, the Slant community recommends TortoiseGit for most people. In the question“What are the best Git clients for Windows?” TortoiseGit is ranked 9th while Visual Studio is ranked 16th. The most important reason people chose TortoiseGit is:
Licensed under GPL.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Official IDE developed by Microsoft
If a project type or a platform is available for C#, it's available in Visual Studio. Some IDEs and code editors may cover some project types, but Microsoft always starts with VS. If you work with a cross-platform technology like ASP.NET MVC, it matters less. If you work with Windows-only technologies like UWP or WPF, you have no choice really.
Pro Free Community edition
Community edition is almost Pro edition, with just a few exceptions. Unlike old Express editions, it supports plugins.
Pro Amazing coverage over languages
Supports many types of C, and java, as well as ruby and python.
Pro Excellent and broad range of plugins
The plugin development ecosystem is very mature and covers a lot of use cases. For example, it is often easy to find a plugin which allows you to have the keybindings of your preferred editor.
Pro Partial cross-platform support
Visual Studio runs on Windows and macOS, so even if you develop on a Mac you can still develop with Visual Studio.
Pro It can run c#, c++, etc.
You can use too many programming lang. And you can select them! Like "I want to do this, not this".
Pro Cloud storage
Your Visual Studio Online account gives you a place to store your code, backlog, and other project data with no servers to deploy, configure, or manage.
Pro Supported by ReSharper and other plugins
Code productivity tools improve code editing experience greatly, provide static code analysis, refactorings, navigation etc. They are considered by many developers as essential.
Pro Fast-paced development iteration
Fast-paced development iteration from the Microsoft team, with new versions and fixes almost every week.
Pro Comes With the .NET Framework
Pro Product backlog
In agile development teams one really needs features such as product backlogs where you can assign features to team mates and track their progress on them. VS provides a web based interface for you to track your team's complete progress on the project.
Pro Fast
Pro Time travel in debugging
Pro Great UI for nugget packages
Pro Flexible to install/adjust payloads
Pro Same excellent Roslyn compiler/editor as VS for Code + powerful debugging tools
Pro Good support and community
Pro sda
Pro Open source
Licensed under GPL.
Pro Windows context menu integration
Context menu enables access to common commands quickly.
Pro Can parse and provide a pretty log of all commits or filter by branch
Pro Convinient blaming tool
Very friendly blame tool. Easy to walk in the history of a file.
Cons
Con Slow & Buggy (on Mac)
Visual Studio can get very slow on Mac... this is partly due to bad UI framework used - GTK. Also, quite buggy and too often have to Force Quit and restart.
Con Professional pricing is a bit steep
The professional edition's pricing is endearing since it costs more than IntelliJ, however, you wouldn't need that if you're not developing for a enterprise.
Con No Linux version
Con Mac version sub-par
The Mac version has the same great Roslyn editor as Win and VS for Code.
Con Too much storage eater for low-end PCs
For a particular task, you need to install workspaces. Workspaces mainly take up to 50 GB.
Con Windows only
No Linux or OSX versions available.
Con Renames git commands
Makes things hard to find for people used to the git CLI.
Con Buggy file status icons
The file icons are also often buggy and do not reflect its true status. Often times the icon is missing and makes you think a file or folder is untracked, when it is already staged, or sometimes even already committed and pushed.
Con May clutter your Windows Explorer
If you have synced your dev folder to a cloud service, TortoiseGit's git status file icons will override your cloud provider's icons.
Con No support for staging
It does not support staging in any way. You'll never guess that this feature is exist in git.