Click here to Skip to main content
15,867,488 members
Articles / Visual Studio / Visual Studio 2012

Integrating and Using Github in Visual Studio 2012

Rate me:
Please Sign up or sign in to vote.
4.94/5 (19 votes)
23 Apr 2013CPOL6 min read 89.9K   28   7
How to integrate and use Github in Visual Studio 2012

With so many source control options out there, it can be a daunting task in choosing one, especially that you enjoy using and integrates well with your development environment. In recent years, the open-source-centric Github has taken over as a premier repository for allowing users to store, develop, collaborate and share code.

The .NET development team has clearly taken notice and with the release of Visual Studio 2012 Update 2 has made it incredibly easy to integrate Git (and Github) into Visual Studio to allow you to easily commit, push, pull and all the other verbs that you can think of without ever leaving the comfort of Visual Studio.

This post will cover the steps necessary to easily get Github up and running within Visual Studio 2012 so you can start sharing (or if you have a premium account, possibly not sharing) your code and using Github to handle your source control needs.

What You Will Need

  • Visual Studio 2012 (Any versions including Express Editions)
  • Visual Studio 2012 Update 2
  • Visual Studio Tools for Git
  • A Github Account

Getting Started with Visual Studio and Update 2

Visual Studio 2012 Logo

You’ll need Visual Studio 2012 along with Update 2 to Get Started

The first step in getting started on this journey is to actually install Visual Studio 2012 if you haven’t already. If you don’t have a Professional edition or above, you can always download the free Express Edition at the following link:

After getting that out of the way, you’ll need to make sure and download the all important Visual Studio 2012 Update 2. This update includes a variety of improvements and features to nearly all facets of development within Microsoft’s flagship development environment which include:

  • Upgraded Agile Planning and Development through Team Foundation Server
  • New and Improved Quality and Unit Testing Features
  • Additional Templates for Facebook and SPA Applications and significant enhancements to SignalR functionality
  • Page Inspection and Mobile Emulation for Improved Cross-Browser / Platform Testing through BrowserStack (See Scott Hanselman’s Blog Post for more information)
  • Code-mapping, IntelliTrace and Workflow enhancements and improvements
  • Basically, just go download it

You can download it from the following link:

From Getting Ready to Git-Ready

The Visual Studio Tools for Git is an extension for Team Explorer that allows Git integration for any Git-supported source-control repository including third-parties as well as local repositories. It will allow you to easily track changes within your repositories, commit changes, view branches and other changes and basically any additional functionality that you would have from a fully-featured source-control environment.

To get started, you’ll just need to download the Visual Studio Tools for Git extension below:

After installing it and creating a new Project, you should see an option available to “Create a New Git Repository” :

Creating a New Project Dialog

Notice the “Create New Git Repository Option”

This will create a new Git repository for this project on your local machine, which you will notice by right-clicking the Project within your Solution Explorer that you now have several new options within your Context menu related to source-control features within Git:

Git Source Control Options

The Solutions Explorer Context Menu now features options related to your Git Source Control

And by accessing the Team Explorer option from the View Menu (or by using the CTRL+\,CTRL+M shortcut), you can see the specific Git Settings for your Project as well:

Git Settings Image

You can set up all of the related Git settings from the Team Explorer

By digging around within the Team Explorer, you can see all of the other functionality that the Git Extension offers, such as Change Tracking, Commits, Merging, etc. I encourage you to play around with it and get used to navigating between all of the options to get a feel for how it integrates with Visual Studio.

After making a few changes to your sample application, you will probably be ready to perform your initial commit, which is just as easy as it sounds. You’ll just need to right-click on your Project and choose “Commit” :

Git Commit Message

You’ll be presented with this Commit area to type your notes in and you’ll also see all of the changes that were made.

Next, we will hook up with Github to actually push our code up.

When Push Comes to Shove

As I mentioned earlier, you’ll need to head over to Github to create an account there. It’s free and is very easy to use, although keep in mind the code posted on there using a free account will be publicly available.

After creating an account, you can make a simple repository that will be used to push your existing local repository to:

Github Image of Creating a New Repository

Creating a sample repository to push our local code to

After creating the repository, you’ll be presented with a page that will display the name of your repository on github (it will also display a variety of other instructions regarding actually pushing and commiting the repository as well). This will be used as your reference for all of your remote push requests. For instance, the repository created in this example would be:

which is basically all that we need to actually handle pushing our local repository up. (Note: Creating a repository can also be performed completely from the command-line as well)

Old School (Command-Line) vs New School (GUI)

There are two options available to handle pushing our local repository:

  • Push using the GUI through Visual Studio 2012
  • Push using the Git Command Line Prompt (which is available through Visual Studio 2012 as well)

Using the GUI is fairly straight-forward and can be accessed by simply clicking on the “Commits” option available within the Team Explorer:

GUI Push Example

Type the URL of your Github repository and click “Publish”

The command-line option functions just the same way and requires just a few more characters than the GUI option. You can access the command-line prompt from nearly any area within the Team Explorer that contains an “Actions” option, which will have an additional option called “Open Command Prompt”:

Accessing Github Command Prompt

The Github Command Prompt option will be available wherever you see the word “Actions”

and within the command-line, simply use the following syntax to perform your push (you can find the exact syntax available on your repository page within Github as well):

git remote add origin https://github.com/Rionmonster/Github-Example.git
git push -u origin master

Push It. Push It Real Good.

When pushing, you will likely be required to authenticate through Github (as you would expect) but after entering in your credentials, you should receive a message that looks like this:

Github Push Success

The Github Push was successful!

and by traveling over to your repository on Github, you will find that it contains all of the files within your local solution:

Success!

Our local repository has successfully been pushed to Github and is available for the world to see!

Tada! All of our files from our local repository are now available on Github for anyone to access, contribute, branch and all that other wonderful jazz. Another great thing is that after your initial push, you will no longer be prompted for credentials so you can now push up to Github with a single click!

Git-ting Better All The Time

Although everything isn’t completely perfect with the Git support (as it was released rather recently), the .NET Development team will still continue to improve it as they do with all of their products and releases. I encourage you to give it a shot, as I have found that it has made my life a bit easier and I hope that it can help do the same for you.

(Sorry for all the Git puns)

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
United States United States
An experienced Software Developer and Graphic Designer with an extensive knowledge of object-oriented programming, software architecture, design methodologies and database design principles. Specializing in Microsoft Technologies and focused on leveraging a strong technical background and a creative skill-set to create meaningful and successful applications.

Well versed in all aspects of the software development life-cycle and passionate about embracing emerging development technologies and standards, building intuitive interfaces and providing clean, maintainable solutions for even the most complex of problems.

Comments and Discussions

 
GeneralThank you, Pin
Manoj B. Kalla30-Sep-15 21:32
Manoj B. Kalla30-Sep-15 21:32 
QuestionVS + Github cloning Pin
freddy_0074-Jun-15 12:58
freddy_0074-Jun-15 12:58 
GeneralVote Of 5 Pin
Rajneesh Rai17-Apr-14 22:22
Rajneesh Rai17-Apr-14 22:22 
GeneralMy vote of 5 Pin
rocksoccer27-Oct-13 13:06
rocksoccer27-Oct-13 13:06 
GeneralMy vote of 5 Pin
SleepyCrat26-Sep-13 4:37
SleepyCrat26-Sep-13 4:37 
Thanks. This tutorial was right on time for me.
QuestionSolutions and Packages? Pin
JamieLaing8-Aug-13 3:56
JamieLaing8-Aug-13 3:56 
GeneralGood job Pin
Brisingr Aerowing23-Apr-13 12:42
professionalBrisingr Aerowing23-Apr-13 12:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.