Visual Studio 2015 How to merge a branch into master?

GitVisual StudioVersion ControlGit BranchGit Merge

Git Problem Overview


I am new to GIT, so far I had been using Visual Studio Online TFS for my version control and I am the only developer. When I created my last project I was kind of mislead into thinking GIT was the best option for this.

So I checked-in my master. Then when I was going to work on a Feature I read I had to create a branch (this was not necessary in TFS) so I created "development_print" as a new branch and worked on my feature.

Now my feature is complete but I don't know how to merge it back into master. I am not interested in multiple branches at the moment, just want my new feature merged into master and remain with master.

In VS there is a merge branch option but it only allows me to merge into development_print (I want my feature into master!) so it does not let me set Into Current Branch and for Merge From Branch shows:

  • Development_print
  • master
  • origin/development_print
  • origin/master

which is kind of confusing? it seems all backwards. So how do I get out of this mess without losing all the work I did on the feature?

Git Solutions


Solution 1 - Git

The way to merge development_print branch into master branch as below:

VS -> Team Explorer -> Branches -> double click master branch -> Merge -> select development_print for Merge from branch -> Merge.

The select box shows:

development_print
master
origin/development_print
origin/master

That means you have branches development_print and master for both local and remote. origin/ means branches exist in remote.

If you don’t want the development_print branch after merging you can delete it for local and remote:

Team Explorer -> Branches -> select development_print -> right click -> Delete -> select development_print under remotes/origin -> Delete Branch From Remote.

Solution 2 - Git

You can follow the Microsoft tutorial "Create work in branches".
Also, as shown in "Getting Used to Git in Visual Studio: Branches" from Jeremy Bytes (2014, but should still apply), you can go back to the "Branches" section and select "Merge".

> This gives us drop-downs to fill in:

https://4.bp.blogspot.com/-m3zHy1wthZA/VKIadAAXBqI/AAAAAAAADqY/0LczBDT-kOE/s1600/Merge.png

You can see the branch section in "Microsoft Application Lifecycle Management", also used when you created your topic branch:

https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/45/92/2014/06/pull_2D00_requests/6242.VCtrlGitPullReqCreateTopicBranch.png

Solution 3 - Git

In VS switch to master branch to be your current branch and from Team Explorer -> Branches you should get the Merge options in the right order where you will be able to select in the "Merge from branch" drop-down development_print branch and the "Into current branch" field will be preselected with master.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionLord of ScriptsView Question on Stackoverflow
Solution 1 - GitMarina LiuView Answer on Stackoverflow
Solution 2 - GitVonCView Answer on Stackoverflow
Solution 3 - Gituser11714042View Answer on Stackoverflow