Active8 months ago
- Visual Studio Setup Git
- Microsoft Visual Studio For Mac
- Visual Studio For Mac Tutorial
- Using Github With Visual Studio
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).
Visual Studio for Mac enables the creation of.NET Core solutions, providing the back-end services to your client solutions. Code, debug, and test these cloud services simultaneously with your client solutions for increased productivity. Git-TF is a set of cross-platform, command line tools that facilitate sharing of changes between TFS and Git. These tools allow a developer to use a local Git repository, and configure it to share changes with a TFS server. Download Visual Studio Code to experience a redefined code editor, optimized for building and debugging modern web and cloud applications. Download Visual Studio Code - Mac, Linux, Windows This site uses cookies for analytics, personalized content and ads. Extension for Visual Studio - A Visual Studio Extension that brings the GitHub Flow into Visual Studio. Lets now look at adding it to a Visual Studio for Mac extension, so that our template is available everywhere. It's really easy to create extensions for VS for Mac for new project types.
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?
Herb CaudillHerb Caudill24.3k3636 gold badges113113 silver badges165165 bronze badges
closed as primarily opinion-based by George Stocker♦Mar 12 '14 at 12:34
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
16 Answers
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.
CJM9,4092020 gold badges6969 silver badges112112 bronze badges
Jon RimmerJon Rimmer11.7k22 gold badges1515 silver badges1919 bronze badges
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.
Jon SkeetJon Skeet1130k714714 gold badges81948194 silver badges85818581 bronze badges
Git Source Control Provider is new plug-in that integrates Git with Visual Studio.
Peter Mortensen14.4k1919 gold badges8888 silver badges117117 bronze badges
yysunyysun
I've looked into this a bit at work (both with Subversion and Git). Studio management software for mac. 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.
Open folder in visual studio for mac. 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.
Peter Mortensen14.4k1919 gold badges8888 silver badges117117 bronze badges
T.E.D.T.E.D.37k77 gold badges5959 silver badges128128 bronze badges
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:
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.
Peter Mortensen14.4k1919 gold badges8888 silver badges117117 bronze badges
CB BaileyCB Bailey548k8282 gold badges570570 silver badges616616 bronze badges
![Visual Studio For Mac Github Extension Visual Studio For Mac Github Extension](/uploads/1/2/6/4/126443979/990347960.png)
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.
Peter Mortensen14.4k1919 gold badges8888 silver badges117117 bronze badges
Chandramouleswaran RavichandraChandramouleswaran Ravichandra
Also don't miss TortoiseGit.. https://tortoisegit.org/
MrTux23k1515 gold badges6666 silver badges102102 bronze badges
tonyotonyo
There's a Visual Studio Tools for Git by Microsoft. It only supports Visual Studio 2012 (update 2) though.
Peter Mortensen14.4k1919 gold badges8888 silver badges117117 bronze badges
Sheng Jiang 蒋晟Sheng Jiang 蒋晟14.4k22 gold badges2424 silver badges4444 bronze badges
Visual Studio Setup Git
Visual Studio 2013 natively supports Git.
See the official announcement.
Flexo♦72.3k2222 gold badges156156 silver badges237237 bronze badges
rhughesrhughes5,96166 gold badges4646 silver badges7272 bronze badges
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!
Microsoft Visual Studio For Mac
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 ;-)
Community♦
PhilippePhilippe14.9k44 gold badges3030 silver badges5151 bronze badges
TortoiseGit has matured and I recommend it especially if you have used TortoiseSVN.
SurfRatSurfRat70111 gold badge77 silver badges1414 bronze badges
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.
Peter Mortensen14.4k1919 gold badges8888 silver badges117117 bronze badges
Andreas KlebingerAndreas Klebinger
The simplest solution that actually works quite well is to add the TortoiseGit commands as external tools.
Community♦
DalSoftDalSoft7,51433 gold badges2929 silver badges4141 bronze badges
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.
HenkHenk
Currently there are 2 options for Git Source Control in Visual Studio (2010 and 12):
https://intensivebasket728.weebly.com/sims-4-studio-for-mac.html. 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
TarunTarunTools -> Options -> Source control -> Plugin Selection
for it to work.1,89511 gold badge1818 silver badges2020 bronze badges
As of 2013-02-11, the Microsoft Git plugin for Visual Studio 2012 should work with the Express version as well.
TTTTTT3,55422 gold badges3131 silver badges3939 bronze badges
Not the answer you're looking for? Browse other questions tagged visual-studiogit or ask your own question.
Visual Studio for Mac add-in/extension for converting old PCLs to .NET Standard 2.0 targeting projects automatically.
Warning
This extension is making it first steps, please make sure you have a back up of your code before using it!
Visual Studio For Mac Tutorial
Installation
Automatic
You can download and install Mutatio using the Extension Manager of Visual Studio for Mac by searching the Gallery.
Manual
Alternatively you can download and install it manually using the folowing steps:
- Download the
.mpack
file from here - Launch Visual Studio, open the Visual Studio menu and select
Extensions..
- In the bottom left of the Extensions Manager dialog, click
Install from file..
- Choose the
.mpack
file you downloaded in step 1 - When prompted, select Install
Using Github With Visual Studio
Limitations
Currently only C# projects supported.
Due to behavior differences
F#
support is currently postponed, however, contributors are welcome!Usage
Free virtual audio board for studio sound mac.
Mutatio
can convert newly created or existing projects. Please keep in mind that there might be NuGet
packages that does not support .NET Standard 2.0, in this case you may see NuGet
related exceptions.In order to convert a project, right click on it and select
For more details please check my blog.
Convert to NET Standard 2.0
.For more details please check my blog.
Details
The technical conversion from old PCL to .NET Standard 2.0 is very simple and described here.
The conversion process is consist of:
- Creating a backup of
*.csproj
,packages.config
&/Properties
inroot/mutatio_backup
- Generating new
*.csproj
- All the packages from
packages.json
will be defined in new*.csproj
- All the packages from
- Deleting of
*.csproj
,packages.config
&/Properties
- Re-opening the solution
License
This project is licensed under the MIT License - see the LICENSE.md file for details