Yay!! I’m over 25% of the way into this series!! Which also means OMG is 2017 already 25% over yet?!?!
Today’s tip demos how you can do a straight forward merge in Visual Studio. No conflicts, etc.
Suppose you have have a method called DoNothing() that lives in a donothing branch.
1. Switch to the branch you want as a target
Double-click on the branch name. The bolded name will be the target branch. Checking out the target branch mimics Git command line functionality.
2. Right-click the target branch and select Merge From…
3. Click the merge button
We’ll get to what the checkbox means in a bit. As if I could stay away from blogging about a checkbox in VS! =D
And if all goes well, Team Explorer will give you a message
We’ll cover merge conflicts later.
Note this was a fast forward merge because there was nothing to merge, so there’s only the linear graph. A fast-forward is where Git realizes that you could have done each commit on that target branch, so it makes it look like that in graph form.
To visualize what we’ve done in Git, here’s the setup. We have one commit in donothing that’s ahead of master.
Now we checkout master and do a git merge
Note how the tool assumes it’s a fast-forward merge. The tool must assume this because the tool doesn’t have a concept of a working directory or staging, so it can’t diff any files to detect conflicts. So the tool assumes there are no conflicts, hence a fast-forward merge.
We’ll look at non-fast forward merges next.