Chapter 9

Branching and Merging

What's in this chapter?

Understanding branching terminology and concepts

Getting to know common branching strategies

Using the branching and merging tools


Branching and merging in version control can open up a whole world of possibilities for improving development productivity through parallelization. Yet, for many developers, branching and merging are slightly scary and full of uncertainty. Because of a lack of good tooling in the past, many developers still shy away from branching and merging, despite Team Foundation Server having good support for both. At the other extreme, some people who see all the great branching and merging functionality available can go a little crazy with their newly found power. Overuse of branching and merging can impact developer productivity and reduce the maintainability of their repository as a result.

No matter which side of the spectrum you find yourself on, this chapter explains the fundamental principles behind the important branching and merging strategies, and it provides some key guiding principles to help you apply them to your organization's needs. This chapter highlights the branching and merging tooling available with Team Foundation Server 2012, and then concludes by walking you through the application of this tooling with some examples.

Branching Demystified

Lots of terms and concepts are peculiar to the world of branching and merging. The following sections provide some definitions and context for ...

Get Professional Team Foundation Server 2012 now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.