Visual Studio Tools for Git


An extension for Team Explorer to provide source control integration for Git. Enables integration with local Git repositories and provides tools to work with remote repositories.

(179) Review
Visual Studio
Download (460,654)
E-mail Twitter Digg Facebook
Add to favorites
Reviews (179)
Q and A (265)
Sign in to write a review
Sort by:

by Ian_Hong | August 09 2016


by Spivonious | April 22 2016

Coming from TFS, this is a great add-in! I'm not sure what the others are complaining about as far as usability. I have no issues quickly committing changes, doing branching/merging, or pushing/pulling from the remote.

Some features are missing or in weird spots. I can't stash my changes, and the repo history view is barely adequate (I would love something more like what SourceTree offers). It would also be helpful to see the latest commit message, or have the message prepopulated. We need to prefix our commits with a ticket number, and I always forget it and need to reference the history.

by Tanato | April 05 2016

by adinaronson | January 26 2016

I would like an option when committing to copy the message of the previous commit easily. Right now I need to open the history and then choose to view details and only then can i select the text to copy and paste it into the current commit.

by Bjoerg1 | January 03 2016

Used in a two team enviroment with Gogs and VS 2015. Works great!

by ActuallyStryder | October 29 2015

It works, but it so cumbersome that I would rather just switch to the command line. Nothing is laid out well, everything is difficult to access. A lack of effective short-cuts/keyboard navigation means committing code takes longer than it should. No project tracking means I have to manually select each thing to add. They should look to more effective Git integration such as what's available with IntelliJ for an example of how to 'stay out of the developers way'.

by gregory_may | October 19 2015

by Leperous | October 13 2015

Absolutely dreadful Git implementation. Often differs to what the CLI tool says and doesn't stay in sync with anything performed there, often misses files from the "included changes" list, still doesn't support SSH.

by MoyHajjat | September 24 2015

Love it!

by Lucas Mendes Pereira | August 17 2015

by cporter711 | July 02 2015

by Jeff Mounce | June 23 2015

Conflicts with R# in VS2012.
Feature set is limited. Overall, it is buggy and not well designed.

Never used it in VS2013.

by George Heynen | April 27 2015

Works great. I have had no problems using with VS 2012 and database project via Microsoft SQL Server Data Tools. To answer below, VS 2013 GIT integration is built into the product.

by James_Parsons | April 16 2015

No VS 2013 support :(

by Stewa11 | April 09 2015

An error occurred. Detailed message: Failed to inflate packfile
This error has been reported and supposed to have been fixed. I am using VS2013.5.5 and the error is still present.

by testeewweqtergerwg | March 25 2015


I am receiving a error

An error occurred. Detailed message: An error was raised by libgit2. Category = Net (Error).
Response status code does not indicate success: 301 (Moved Permanently).

Why this is happening?

by mihai.cucicea | March 24 2015


by JonasT | March 11 2015

I find the "Visual Studio Tools for GIT" confusing and not well organized. Also the integration lacks a lot of the important features which GIT supports (amend, interactive rebase etc.).

Instead Visual Studio Tools for Git should abandon the TFS look and go all in with GIT, so we get a userexperience like Sourcetree or "thg".

Mostly I just use these tools to highlight which files a have modified or created...

by K Dahl | February 23 2015

Doesn't support SQL Server Development Tools version of Visual Studio 2012.

by Dmitry.Novoselov | January 08 2015

It works. And it has a tight integration with VS.
In overal, it covers my needs completely and looks nice. So why not like it?

1 - 20 of 179 Items   
Sign in to start a discussion

  • Support for Gerrit
    3 Posts | Last post Wed 3:39 AM
    • I have VS2015 Enterprise, and we use Gerrit internally for our Git repo.  I'm trying to use VS2015 to clone a repo, using HTTPS with the extension generating an error:
      Error encountered while cloning the remote repository: An error occurred while sending the request.
      Inner Exception:
          The remote server returned an error: (401) Unauthorized.
          Inner Exception:
              No credentials are available in the security package
      Has the Git extension been tested with Gerrit?  Is there anything to make this work?  I've added my Gerrit URL to the Windows Credentials for my user account.
    • Did you find any solution? I have the same problem u..U
    • the same
  • Want this extension into VSCode
    1 Posts | Last post May 17, 2016
    • Hi, 
      I'm a user of Visual Code editor and I would like this extension to be included. 
      I especially miss the lack of "File history" functionnality into VSCode. 
      Is there any way to port "Visual Studio Tools for Git" to VSCode?
      Which of your dev teams would be able to do so?
  • Microsoft Visual Studio Tools for Git -- Installation failed.
    5 Posts | Last post March 28, 2016
    • Product: Microsoft Visual Studio Tools for Git -- Installation failed.
      MainEngineThread is returning 1603
      Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action viuF207D47A2F4BF3B20131E82B01AC495A, location: C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\VSIXInstaller.exe, command: /q  "C:\Users\Lucas\AppData\Local\GitProviderInstaller\GitProvider.vsix" 
    • I have the same problem, any fix for this problem yet?
    • I have the same problem.  Installed VS 2012 Update 5 (upgraded from VS 2012 with no updates).  Git version Git-2.7.2-64-bit installed.  Trying to install the msi named: Microsoft.TeamFoundation.Git.Provider.msi.  I tried just right-click and install - no dice.  I then set up the registry to all "install as administrator" which didn't work but ... see this page if interested: .
      I've restarted my computer and am at a loss as to the solution.
    • A little more info on my plight, perhaps others as well...  I have several versions of VS installed (2008,2010,2012,2013).  Also, in Vs2012 I tried to install the package via the Tools -> Extensions and Updates, then choose Online and then search for Git.  It provides a handful of choices, one of which is: Visual Studio Tools for Git.  Tried that route but if failed with the same error.  Argh.
    • There is a workaround available which worked for me on the Connect bug page:
      Basically extract the vsix file from the .msi file and run that directly, rather than trying to use the broken installer.
  • SYNC Button
    1 Posts | Last post November 18, 2015
    • What exactly does the Sync button do? I have seen that it runs the following commands in this order 1) Fetch 2) Pull 3) Push. I have also seen a merge based on conflict during pull/push occur.
  • Error installing extensiòn on Windows 8.1
    1 Posts | Last post November 17, 2015
    • I get an error when I trying to install on a Windows 8.1, is the only thing that could throw an error. In the same machine a I have VS2015 and VS2013
  • Usability update?
    1 Posts | Last post October 29, 2015
    • Will we ever see one? If the intended behaviour of git is to 'commit often', this tool prevents that. The amount of distraction created by attempting to commit takes the developers focus away from the task at hand. 
  • Usability update?
    1 Posts | Last post October 29, 2015
    • Will we ever see one? If the intended behaviour of git is to 'commit often', this tool prevents that. The amount of distraction created by attempting to commit takes the developers focus away from the task at hand. 
  • Merge Conflicts
    16 Posts | Last post October 22, 2015
    • An error was raised by libgit2. Category = 21 (MergeConflict).
      4 uncommitted changes would be overwritten by merge.
      The error always occur on nearly every project. Everytime I need to remove the whole repository and clone again to solve the problem.
      I even can't revert the changes made in local commit and can't push the changes to the server because only 1 incoming commit stuck.
      I have tried to click fetch, pull, and sync, no one make it works.
      Could anyone help to solve the problem?
      Really appreciate for anyone could help!
    • Calvin, thanks for reporting this.  I'm guessing you see this error when you actually try to perform a merge?  If you've seen this happen to multiple clones of your repo then I am guessing there is something special about your repo that libgit2 doesn't like.  Can you send me an email at taylaf at microsoft dot com so that we can work on getting a repro in house?
    • I also have this problem. It happens EVERY TIME both I and someone else on the team have committed to the master branch. No, I do not do anything, especially not merge (how do I do merge? there's no option for this). I simply click the SYNC button (or Fetch or Pull - these do the same), and I get the error. So far, the only way to get rid of the error is to download a fresh copy of the repository, thereby losing ALL my changes. This is a SHOWSTOPPER.
    • Also the same here! If you have local unsynced commits or changes then you can't sync. (An error was raised by libgit2. Category = 21 (MergeConflict).
      4 uncommitted changes would be overwritten by merge.) If you try to push your changes before pulling there is also a error message. (If it occurs next time i will add the push error message)
      Tis is really an showstopper and we can't start with productive work on our new TFS before this is solved! A real Merge dialog would be nice but a good automatic merge, without destroying the local changes, would be enough for now!
    • I've just hit this issue as well.  We have a brand new tfs-git repo and I've Cloned and done a bunch of commits and syncs.  Someone else just cloned and added new files in a completely different folder, so there's no content level differences which can be diff/merged and no button for it.  Surely I don't need to create a new branch every time someone else pushes a change?  I wouldn't think that would make a difference anyway.
      Anyway, this seems to be a massive problem, so any response would be great. has been over a month since the last post here.
    • I'm having the same problem. Has a fix for this issue been found yet?
    • The GUI seems to be buggy. 
      If I click Pull on Incoming Commits, I get the error referenced above "libgit2. Category = 21 (MergeConflict)...".
      When I open the Git Command Window, then type "Git Pull" it resolves the simple merge and completes. Why are these different?
    • I'm encountering this issue as well.  Has any progress been made on a fix?
    • Same thing is happening here, almost every time I try to pull (from team foundation service) in VS it fails with An error was raised by libgit2. Category = 21 (MergeConflict)..
      Pulling from command line works fine.
    • Same thing here, we can no longer push, pull, or sync...I assume Microsoft would be working on this serious issue or at least get some information out to us so that we can work on a resolution ourselves. This issue literally makes it impossible to use GIT in VS2013.
    • The same thing happened to us.  We believe it was from a series of .gitignore updates by a couple of developers.  When the conflict came up, there wasn't a way to merge it so they were stuck.  Visual studio doesn't seem to see those files from that point of view.  I'm sure there's a way to do it from the command line but since there were minimal other updates, we just re-cloned the repo
    • Any update on this?  This doesn't seem to be resolved...
    • Same problem here ? any update on this ?
    • I am on vs 2013 by the way
    • If you encounter this problem, start the Git UI, cancel the merge and do the merge again in the Git UI. 95% of the merge problems can be solved that way.
      Another solution is using the command line. This is especially true if you have "uncommitted changes" while visual studio shows you none.
      If the git tools are in your path, use powershell or cmd or even the package manager console if you don't want to leave visual studio.
      > git status // gives you an overview of the commit status
      > git add -A // adds uncommitted files to the list of files to be committed
      > git commit -m "some useful comment" // commits the files.
      Try the merge again and if it still fails, do the merge from command line.
      > git merge <branchname> // while being on your own branch
      if you have merge conflicts and visual studio stubbornly refuses to let you use the merge editor
      > git mergetool //launches the mergetool - if correctly setup, the VS one.
    • I am also facing same issue without any solution so far but to reload the repository completely. this is a SHOWSTOPPER issue and should be fixed ASAP
  • does it support system level config?
    1 Posts | Last post September 14, 2015
    • when working in a 3-party git tool, I can have system level config that applies to all repos on the machine. Is it possible in this extension?
  • Conflicts prevent checkout
    1 Posts | Last post May 22, 2015
    • Heya
      Im working on a project from 2 different computers. Both have the same version of Visual Studio 2013.
      If I work the home computer, commit, push, go to my other computer - have no pending changes or unsynced commits, try to pull/sync - I get "An error occurred. Detailed message: 3 conflicts prevent checkout", everytime.
      If I fire up the command prompt and do a "git pull", no conflicts and it pulls just fine.
      A quick fix or anything for this? Very annoying to not be able to use the tool in VS and have to rely on the command prompt just to get new commits.
1 - 10 of 265 Items