How to disable git source control on visual studio 2019? - visual-studio

The "Git for Windows (32 bit)" process makes Visual Studio 2019's CPU usage high which bugs me because I have multiple programs open at a time, so my PC lags. I've looked up on how to disable git on Visual Studio 2019, Tried the solutions on this link, but they didn't seem to work. My Visual Studio 2019 version is 16.6.0.

Disabling git via going to Tools / Options / Source Control / Plug-in worked thanks to #dxiv's comment, I didn't know because I was looking at old answers.

I found that I was able to solve this issue by removing the .git folder that was in my user root directory. It was C:\Users\MyUserName\.git I don't know where it came from. It did not correspond to any of my legitimate GitHub repositories. It was large and seemed like it was constantly trying to index and prepare my entire user directory to push to a remote repository that did not exist.
This also resolved other ways the seemingly same issue presented itself in both VS2019 and VS Code.

Just delete the c:\users\yourusername.git folder and VS will stop showing GIT in Team Explorer.

Related

Visual Studio and/or Windows Explorer Crash with TypeScript Files

In Windows Explorer, whenever I try to open a folder that contains TypeScript files, explorer freezes and crashes. When I try to edit TypeScript files in Visual Studio, it allows me to do so until I save the file. When I save the file, Visual Studio crashes without any dialogs.
I tried completely removing anything Visual Studio related (uninstall, registry clean, etc.) and reinstalling. I also tried running Windows in safe mode, and/or running Visual Studio in safe mode, none of which work. Running Visual Studio as an administrator also does not work.
I know it is not an issue with the actual repo since these files work fine on several other developer machines. This functionality was working just fine a month ago, with no changes in updates or installed extensions.
I am running Visual Studio 2015 Update 3 (14.0.25431.01) on a Windows 10 64-bit machine. TypeScript Tools for Visual Studio is at version 2.2.1.0.
Please let me know if there are any logs I can provide, I'm not sure where to get them.
The following update fixes this issue:
Cumulative Update for Windows 10 Version 1607 for x64-based Systems (KB4015438).
This is as of March 20, 2017.
UPDATE:
Many people have reported this issue as being the result of Windows Update KB4013429. This affects all Visual Studio installations. To resolve the issue, simply uninstall this update and restart your PC.
Old "Solution":
I solved the problem by reinstalling/cleaning Windows.
I know that's not a very good answer, but I wasn't able to solve the issue otherwise. Disabling antivirus shields did not work, and neither did running in safe mode. I think something in the registry may have gotten corrupted during a Visual Studio reinstall. Would love to hear any actual solutions if anyone else comes across this problem in the future.
I deleted a lot of stuff in the Registry under HKEY_CLASSES_ROOT\.ts, and now I can at least view folders in Explorer that contains .ts files, but I still cannot right-click them.
The biggest problem for me and my colleague was that Git and Visual Studio was unable to overwrite .ts files sometimes ("permission denied"), and we couldn't delete them manually either.
I'm not quite sure this has solved the problem permanently for me, but it seems so at the moment:
I used Handle to determine that SearchProtocolHost.exe had locked my .ts file, and wouldn't release until a few minutes later.
A few Google searches later, and I have now disabled indexing .ts files in Windows Search. So far, no more locks!

Visual Studio with GitHub checking in changes on save

I've been working with several projects I have hosted on GitHub, but recently I haven't been able to check in any changes. Every time I save a file, VS treats the file as if it's checked in, lock icon and all. I can't make any commits because of this. I've had this occur in VS2013 Community, VS2013 Pro, and VS2015 Ultimate CTP. While restarting VS works in the 2013 versions, it does not work in 2015.
While searching for an answer, I came across this SO question. The answer did not work for me, as I am using GitHub, not TFS with a Git project ("Connect To" wouldn't show my project). In addition, I have not renamed any of the projects that have had this glitch. Is there anything I can do besides report the bug to MS?
To all the people which have this kind of problem using Visual Studios Git Source control.
One solution which worked for me since all other i found failed was to create a .gitignore file via Visual Studio. This somehow stopped the automatic check in which happened during a filesave.
Team Explorer -> Settings -> Repository Settings -> Ignore & Attributes section -> Ignore File -> Add
I am currently using Visual Studio 2015 update 1.

Why is Visual Studio 2013 very slow?

I'm running Visual Studio 2013 Pro (RTM version) on my formatted PC (Windows 8.1 fresh install).
I don't know why, but Visual Studio 2013 Pro is very very slow! Slow for building, debugging, navigating in the IDE... my hard disk drive LED is not lighting up at all!
I'm on a little MFC (C++) project using the Boost library.
Any ideas?
It is something concerned with the graphics drivers. If you update them you will be fine.
Or you can disable the hardware graphics acceleration in Visual Studio according to these steps:
In Visual Studio, click "Tools", and then click "Options".
In the Options dialog box, navigate to the "Environment > General" section and clear the "Automatically adjust visual experience based on client performance" check box. (Refer to the following screen shot for this step.)
Clear the "Use hardware graphics acceleration if available" check box to prevent the use of hardware graphics acceleration.
Select or clear the "Enable rich client visual experience" check box to make sure that rich visuals are always on or off, respectively. When this check box is selected, rich visuals are used independent of the computer environment. For example, rich visuals are used when you run Visual Studio locally on a rich client and over remote desktop.
References:
You experience performance issues, product crashes, or rendering issues in Visual Studio 2013
Try to set Current source control plug-in to None (menu Tools → Options → Source Control), if you are using the Microsoft Git provider, which seems to slow Visual Studio 2013 down more and more the larger the repository gets.
I had the whole Dojo Toolkit framework under source control using the Microsoft Git provider, and it got to the point where there were delays from the time I hit a key to the time the glyph would appear on the screen. That bad.
When/if you need Git again, you can switch to the TortoiseGit provider or Git-Extensions, both will work without slowdown. I like Git-Extensions, personally.
I too have struggled a bit with bad performance in Visual Studio 2013 (Premium). Pretty much the same issues as TS had. Slow navigation, scrolling, building... just about everything. Luckily I have manage to solve my own problem by disabling Synchronized Settings in Visual Studio.
Go to menu Tools → Options → Environment-Synchronized Settings and remove this option by unchecking the checkbox.
In the case of web applications, another cause of slow building and debugging (but not IDE navigation) could be the Browser Link feature.
I found that with this switched on, building would take 4 times longer and debugging was painful - after every postback, web pages would freeze for a few seconds before you could interact with them.
I was using a solution upgraded from Visual Studio 2012. Visual Studio 2013 also upgraded the .suo file. Deleting the solution's .suo file (it's next to the .sln file), closing and re-opening Visual Studio fixed the problem for me. My .suo file went from 91KB to 27KB.
I had the same problem and the only solution that worked for me was to follow the three steps presented below:
Clean the WebSiteCache folder (you may find it at
C:\Users\%USERNAME%\AppData\Local\Microsoft\WebSiteCache)
Clean the "Temporary ASP.NET Files" folder (find it at
C:\Users\%USERNAME%\AppData\Local\Temp\Temporary ASP.NET Files)
Restart Visual Studio
What fixed it for me was disabling Git by setting Current source control plug-in to None in Visual Studio, menu Options → Source Control:
This issue seems to be because of uninstalling the SQL Server Compact edition (4.0).
I was having this issue, and it got fixed after installing the SQL Server Compact edition 4.0.
On closing Visual Studio 2013, I was getting a message to install SQL Server Compact edition as a C++ project needed some thing... can't put finger on anything.
Resolve this issue by installing Microsoft SQL Server Compact 4.0
Microsoft SQL Server Compact 4.0
I can advise an option like this.
CodeLens can be disabled like as at the picture. It gives a lot of performance goodness.
If you are debugging an ASP.NET website using Internet Explorer 10 (and later), make sure to turn off your Internet Explorer 'LastPass' password manager plugin. LastPass will bring your debugging sessions to a crawl and significantly reduce your capacity for patience!
I submitted a support ticket to Lastpass about this and they acknowledged the issue without any intention to fix it, merely saying: "LastPass is not compatible with Visual Studio 2013".
I had the same problem and all the solutions mentioned here didn't work out for me.
After uninstalling the "Productivity Power Tools 2013" extension, the performance was back to normal.
One more thing to check; for me it was Fusion logging.
I'd turned this on a very long time ago and more or less forgotten about it. Getting rid of the 5000+ directories and 1 GB of logged files worked wonders.
There is a good workaround for this solution if you are experiencing slowness in rendering the .cs files and .cshtml files.
Just close all the files opened so that the cache gets cleared and open the required files again.
Visual Studio Community Edition was slow switching between files or opening new files. Everything else (for example, menu items) was otherwise normal.
I tried all the suggestions in the previous answers first and none worked. I then noticed it was occurring only on an ASP.NET MVC 4 Web Application, so I added a new ASP.NET MVC 4 Web Application, and this was fast.
After much trial and error, I discovered the difference was packages.config - If I put the Microsoft references at the top of the file this made everything snappy again.
Move the Microsoft* entries to the top.
It appears you don’t need to move them all - moving say <package id="Microsoft.Web.Infrastructure" has an noticeable effect on my machine.
As an aside
Removing all contents of the file makes it another notch faster too*
Excluding packages.config from Visual Studio does not fix the issue
A friend using Visual Studio 2013 Premium noticed no difference in either of these cases (both were fast)
UPDATE
It appears missing or incomplete NuGet packages locally are the cause. I opened the Package manager and got a warning 'Some NuGet packages are missing from this solution' and choose to Restore them and this sped things up. However I don’t like this as in my repository I only add the actual items required for compilation as I don’t want to bloat my repository, so in the end I just removed the packages.config.
This solution may not suit your needs as I prefer to use NuGet to fetch the packages, not handle updates to packages, so this will break this if you use it for that purpose.
For me, the problem was the Start page -- it was downloading content and causing Visual Studio to hang.
The only solution for me was to:
Kill the DevEnv process from Task Manager
Start Visual Studio in Safe Mode from the command line:devenv.exe /safemode
Go to menu Tools → Options, and select the Environment/Startup options
Choose "Show empty environment" for the startup action
Close Visual Studio
Restart normally
Running unit tests was slow. It was a ReSharper issue.
Menu ReSharper → Options → Environment → General ... Clear Caches
Menu Tools → Options → ReSharper → General ... Suspend Now
Close Visual Studio
Delete the .suo file.
Open Visual Studio again.
Re-enable ReSharper.
I also had an issue with a slow IDE.
In my case I installed
ReSharper
Npgsql (low chance to cause the problem)
Entity Framework Power Tools Beta 4
The following helped me a bit:
Disabled synchronization - menu Tools → Options → Environment-Synchronized Settings
Disabled plug-in selection - menu Tools → Studio → Options → Source Control.
Disabled Entity Framework Power Tools Beta 4 - menu Tools → Extensions and Updates
Uninstalled JetBrain's Resharper - WOW!! I am fast again!!
Change the Fusion Log Value to 0. It solved my issue.
This is the FusionLog key in the registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion
Check ForceLog value (1 enabled, 0 disabled).
I was also facing this issue for quite long time. Below are the steps that I perform, and it works for me always:
Deleting the solution's .suo file.
Deleting the Temporary ASP.NET Files (You can find it at find it at %WINDOW%\Microsoft.NET\Framework\Temporary ASP.NET Files)
Deleting all breakpoints in the application.
Visual Studio 2013 has a package server running, and it was spending up to 2 million K of memory.
I put it to low priority and affinity with only one CPU, and Visual Studio ran much more smoothly.
Performance Explorer
Have you been using menu Analyze → Performance and Diagnostics? I have! It's awesome! But you may want to clean up.
Open the Performance Explorer. If you collapse all of the items in there, select all, then you can right click and do Delete.
My solution opens faster and is in general running much faster now.
Also you may notice changes to your sln file as shown. For me, this section was deleted from the sln.
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
In Visual Studio 2015 Community edition, I've experienced a very (very) slow IDE after changing the "Environment Font" on menu Tools → Options... → Fonts and Colors.
Reverting this options back to the default value ("automatic") solved it immediately.
I had similar problems when moving from Visual Studio 2012 → Visual Studio 2013. The IDE would lock up after almost every click or save, and building would take several times longer. None of the solutions listed here helped.
What finally did help was moving my projects to a local drive. Visual Studio 2012 had no problems storing my projects on a network share, but Visual Studio 2013 for some reason couldn't handle it.
I had a Visual Studio 2013 installed, and it was running smoothly. At some point it started to get sluggish and decided to install Visual Studio 2015. After install, nothing changed and both versions were building the solution very slow (around 10 minutes for 18 projects in solution).
Then I have started thinking of recently installed extensions - the most recent installed was PHP tools for Visual Studio (had it on Visual Studio 2013 only). I am not sure how can an extension affect other versions of Visual Studio, but uninstalling it helped me to solve the problem.
I hope this will help others to realize that it is not always Visual Studio's fault.
I added "devenv.exe" as an exclusion to Windows Defender. This solved my problem completely. People can try this as their first try.
I have the same problem, but it just gets slow when trying to stop debugging in Visual Studio 2013, and I try this:
Close Visual Studio, then
Find the work project folder
Delete .suo file
Delete /obj folder
Open Visual Studio
Rebuild
None of the suggestions worked for me, but I did solve my problem. I had tried most of the other recommendations before coming to the following solution.
My Scenario/Problem:
Using Visual Studio 2017 with ReSharper Ultimate. Keyboard input in the IDE got super slow as others have described. The last change I made to my solution was to add a new web site project, so I looked into that. After trying a lot of things, I tried adding a second web site project, so I could try to replace the first one, and Visual Studio just tanked after that. It wouldn't even load the solution anymore.
My Solution:
I forced Visual Studio closed and then I removed the newly added web site project(s) from the .sln file using Notepad. After saving and starting Visual Studio, my solution loaded quickly and everything seemed to be back to normal. I added a new Web Site with a slightly different configuration (see the thinking below), and the problem did not present itself again.
My Thinking:
I think the problem stemmed from creating the new web site project and using a file system path to a network share that is hosted in Azure. I'm working over VPN which tends to slow things down, and I occasionally experience various routing problems with some services, so my problem/solution might be a bit of a snowflake. I changed the file system path to be a local repository and will publish the files as needed which seems like a much better way to go.
I had a Visual Studio behavior where the typing was slow for my HTML files. Previously when I installed, I guessed that because my HTML files were generic HTML that the need to install any web development tools from the workload component of the installer was unnecessary. I went back and installed this bit and Visual Studio behavior became as I expected it.
This already has a bunch of answers here, but a general way to easily boost Visual Studio is to clear your temp files.
Press the Windows Key and R, and enter 'temp'. Press enter, and provide any administrator permission if you need to. Then press Control A to select all, and hit the Del key. Remember to provide any administrator permissions, and if 'the item is already in use' then just press skip.
After this, Press Windows Key and R again, but this time type '%temp%'. Repeat the previous steps in the new directory.
Finally, empty the recycle bin.
This might not help a ton, but it should boost general performance.

Why does it take sooo long to load my solution in Visual Studio?

We have a really big solution with more than 200 projects and thousands of files. Despite of that the solution used to load pretty quickly in Visual Studio 2010 as well as 2012. However, after copying the whole SVN repository to another location, loading and closing the solution suddenly took extreeeemly long. (I am talking about 30-60 minutes here!)
I found a solution myself and I wanted to share it here, hoping that it might save someone quite a few hours of research and staring at the "Preparing solution..." dialog.
When inspecting the devenv.exe process with Process Monitor, I found out that it is pretty busy with accessing the .svn directory. Here is what I did (and this somehow solved the problem):
Kill Visual Studio
Open Visual Studio without loading a solution
Disable AnkhSvn as Source Control plugin (Tools->Options->Source Control->Plug-in Selection->None)
Disable "Document Well 2010 Plus" (VS2010) or "Custom Document Well" (VS2012) in Productivity Power Tools (Tools->Options->Productivity Power Tools) - I read that somewhere and it might have helped as well...
Close Visual Studio
Delete the solution's *.suo file. This is located in the same folder as the solution itself. NOTE: You will lose several settings for your solution, like currently opened files, breakpoints, bookmarks, current solution configuration & platform (e.g. Debug x86) etc.
Restart Visual Studio
Load the solution - it was much faster now!
Close Visual Studio
Open Visual Studio without loading a solution
Re-enable AnkhSvn and the "Document Well"
Restart Visual Studio
Open the solution - it was still loaded in seconds!
I do not know which of these steps actually solved the problem. Probably, not all these steps are required, but I did not want to reproduce the problem to find out which steps may be omitted. :)
None of those helped me, what I did... I watch with ProcMon of sysinternals, filtering for devenv, and I saw a lot of entries of fussionlog. I had enabled fussionlog for debugging purposes some weeks before and didn't think in disabling it. I just had to disable fussionlog and the solution opened faster.
You can open the Visual Studio in the Safe Mode, and then check your plugin and source control settings after opening the project.
Safe Mode means "Starts Visual Studio, loading only the default environment and services."
How :
devenv /SafeMode
Or according to your path
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" /SafeMode
source : https://msdn.microsoft.com/en-us/library/ms241278.aspx
In my case, the following worked without any of the intervening steps suggested:
Kill Visual Studio.
Start Visual Studio directly (i.e., not from the .sln file).
Then, from within Visual Studio, open the solution.
In my case this was all it took to make the problem solution load quite quickly, without the need for me to change any settings or delete any files.
fwiw, I realize this is a late entry, but I found that simply removing (deleting) my large number of breakpoints resolved the excessive load time and compile time.
This action reduced the size of the .suo file from 214MB to 977KB. Let VS handle the .suo file itself.
Compiling and loading now takes < 1 minute instead of 5-10 minutes for a solution with 35 projects. Visual Studio 2012 Pro, update 4.
None of the other answers worked for me. CI compile times were fine, but loading my solution in Visual Studio was taking almost two minutes. VS would then operate just fine until I closed and opened the solution the next time. Different versions of VS all showed the same problem and both safe mode and deleting the suo didn't help.
I ended up following the advice in http://geekswithblogs.net/akraus1/archive/2014/04/30/156156.aspx to use Windows Performance Recorder to instrument VS and find the problem. By looking in Windows Performance Analyzer under the "CPU Usage (Sampled)" section and adding the "Stack (Frame Tags)" column, I was able to dig into the usage of devenv.exe.
Turns out the hot path by count had Microsoft.VisualStudio.Platform.WindowManagement.ni.dll 23 calls down, and below that eventually Microsoft.VisualStudio.ServerExplorer.dll and Microsoft.VisualStudio.Data.Package.dll. That pointed me to look in Server Explorer in the UI and open the Data Connections tab. There I found hundreds of mistakenly added connections that came from the debug web.config's ConnectionString section. Removing those from web.config reduced the load of that individual project from 90+ seconds to almost instant.
I have a different cause for the slow loading of the projects.
My situation is utilizing Git and found that even switching branches was slower than it should be with project load.
Solution: Run Visual Studio as Administrator
Reason: Something with the Corporate laptop is not providing the needed Git tool access (it doesn't recognize that a git repository is in use).
I have not seen any issues with Git or my personal access to any of the project files or Git objects.
I tried the above, but it didn't solve my problem.
Here's how I got around this problem, hopefully it will work for some of you as well:
Open Visual Studio 2013 with no solution.
Create a new C# Console application and save it.
Close Visual Studio.
Reopen the Console solution created in step 2.
Close Visual Studio.
Reopen the solution that was previously hanging on the Preparing Solution dialogue. Mine opened right away, no more hanging.
Using Visual Studio 2015, I ended up creating a new solution, adding the existing projects.
Deleting the *.suo from gehho's answer helped in the past, but didn't help me in this case. There's also another .suo file in a hidden .vs folder at the root of the solution.
There are other answers here for Visual Studio 2015 Visual Studio 2015 is extremely slow
For my case it was due to TFS issue. It thinks that there are more than 5000 pending changes.
The fix is to force TFS to recheck. Go to Team Explorer -> Source Control Explorer and do "Get Latest" on the projects that have pending changes. For things that are already matching TFS, Visual Studio will actually not download anything to your PC. For things that are different with TFS, Visual Studio will let you know and ask you to reconcile the difference.
This is VS 2019 Professional.
In my case there were <import ...> entries in the project files that pointed to
paths no longer available making the loading of the solution hang indefinitely without any form of information give (Shame on Microsoft!).
I encountered this problem only recently (Mar 2021), using VS 2019. It literarily takes 30+ seconds to load the file (each).
It only effects the Layout files. I believe it could be to do with the links within the files. I have not had time to investigate them.
However, I am writing this to suggest that regardless of the cause of the problem, a simple solution is to right click on the file and open it with Notepad to get your work done.

Using Git with Visual Studio [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
As a long-time Visual SourceSafe user (and hater) I was discussing switching to SVN with a colleague; he suggested using Git instead. Since, apparently, it can be used as peer-to-peer without a central server (we are a 3-developer team).
I have not been able to find anything about tools that integrate Git with Visual Studio, though - does such a thing exist?
What are the technologies available for using Git with Visual Studio? And what do I need to know about how they differ before I begin?
In Jan 2013, Microsoft announced that they are adding full Git support into all their ALM products. They have published a plugin for Visual Studio 2012 that adds Git source control integration.
Alternatively, there is a project called Git Extensions that includes add-ins for Visual Studio 2005, 2008, 2010 and 2012, as well as Windows Explorer integration. It's regularly updated and having used it on a couple of projects, I've found it very useful.
Another option is Git Source Control Provider.
I use Git with Visual Studio for my port of Protocol Buffers to C#. I don't use the GUI - I just keep a command line open as well as Visual Studio.
For the most part it's fine - the only problem is when you want to rename a file. Both Git and Visual Studio would rather that they were the one to rename it. I think that renaming it in Visual Studio is the way to go though - just be careful what you do at the Git side afterwards. Although this has been a bit of a pain in the past, I've heard that it actually should be pretty seamless on the Git side, because it can notice that the contents will be mostly the same. (Not entirely the same, usually - you tend to rename a file when you're renaming the class, IME.)
But basically - yes, it works fine. I'm a Git newbie, but I can get it to do everything I need it to. Make sure you have a git ignore file for bin and obj, and *.user.
Git Source Control Provider is new plug-in that integrates Git with Visual Studio.
I've looked into this a bit at work (both with Subversion and Git). Visual Studio actually has a source control integration API to allow you to integrate third-party source control solutions into Visual Studio. However, most folks don't bother with it for a couple of reasons.
The first is that the API pretty much assumes you are using a locked-checkout workflow. There are a lot of hooks in it that are either way expensive to implement, or just flat out make no sense when you are using the more modern edit-merge workflow.
The second (which is related) is that when you are using the edit-merge workflow that both Subversion and Git encourage, you don't really need Visual Studio integration. The main killer thing about SourceSafe's integration with Visual Studio is that you (and the editor) can tell at a glance which files you own, which must be checked out before you can edit, and which you cannot check out even if you want to. Then it can help you do whatever revision-control voodoo you need to do when you want to edit a file. None of that is even part of a typical Git workflow.
When you are using Git (or SVN typically), your revision-control interactions all take place either before your development session, or after it (once you have everything working and tested). At that point it really isn't too much of a pain to use a different tool. You aren't constantly having to switch back and forth.
I find that Git, working on whole trees as it does, benefits less from IDE integration than source control tools that are either file based or follow a checkout-edit-commit pattern. Of course there are instances when it can be nice to click on a button to do some history examination, but I don't miss that very much.
The real must-do is to get your .gitignore file full of the things that shouldn't be in a shared repository. Mine generally contain (amongst other stuff) the following:
*.vcproj.*.user
*.ncb
*.aps
*.suo
but this is heavily C++ biased with little or no use of any class wizard style functionality.
My usage pattern is something like the following.
Code, code, code in Visual Studio.
When happy (sensible intermediate point to commit code, switch to Git, stage changes and review diffs. If anything's obviously wrong switch back to Visual Studio and fix, otherwise commit.
Any merge, branch, rebase or other fancy SCM stuff is easy to do in Git from the command prompt. Visual Studio is normally fairly happy with things changing under it, although it can sometimes need to reload some projects if you've altered the project files significantly.
I find that the usefulness of Git outweighs any minor inconvenience of not having full IDE integration but it is, to some extent, a matter of taste.
Microsoft announced Git for Visual studio 2012 (update 2) recently. I have not played around with it yet, but this video looks promising.
Here is a quick tutorial on how to use Git from Visual Studio 2012.
Also don't miss TortoiseGit...
https://tortoisegit.org/
There's a Visual Studio Tools for Git by Microsoft. It only supports Visual Studio 2012 (update 2) though.
Visual Studio 2013 natively supports Git.
See the official announcement.
The Git support done by Microsoft in Visual Studio is just good enough for basic work (commit/fetch/merge and push). My advice is just to avoid it...
I highly prefer GitExtensions (or in less proportion SourceTree). Because seeing the DAG is for me really important to understand how Git works. And you are a lot more aware of what the other contributors to your project have done!
In Visual Studio, you can't quickly see the diff between files or commit, nor (add to the index) and commit only part of modifications. Browse your history is not good either... All that ending in a painful experience!
And, for example, GitExtensions is bundled with interesting plugins: background fetch, GitFlow,... and now, continuous integration!
For the users of Visual Studio 2015, Git is taking shape if you install the GitHub extension. But an external tool is still better ;-)
TortoiseGit has matured and I recommend it especially if you have used TortoiseSVN.
The newest release of Git Extensions supports Visual Studio 2010 now (along with Visual Studio 2008 and Visual Studio 2005).
I found it to be fairly easy to use with Visual Studio 2008 and the interface seems to be the same in Visual Studio 2010.
The simplest solution that actually works quite well is to add the TortoiseGit commands as external tools.
Solution to adding a Git (TortoiseGit) toolbar to Visual Studio
As mantioned by Jon Rimmer, you can use GitExtensions. GitExtensions does work in Visual Studio 2005 and Visual Studio 2008, it also does work in Visual Studio 2010 if you manually copy and config the .Addin file.
Currently there are 2 options for Git Source Control in Visual Studio (2010 and 12):
Git Source Control Provider
Microsoft Git Provider
I have tried both and have found 1st one to be more mature, and has more features. For instance it plays nicely with both tortoise git and git extensions, and even exposed their features.
Note: Whichever extension you use, make sure that you enable it from Tools -> Options -> Source control -> Plugin Selection for it to work.
As of 2013-02-11, the Microsoft Git plugin for Visual Studio 2012 should work with the Express version as well.

Resources