Branching and Merging
What's in this chapter?
The use of branching in version control can open up a whole world of possibilities for improving development productivity through parallelization. Yet, for many developers, branching and merging is slightly scary and full of uncertainty. Because of a lack of good tooling in the past, many developers still shy away from making use of branching and merging despite the good support in Team Foundation Server. At the other extreme, some people—who see the great branch and merge functionality now available—can go a little crazy with their newly found power. Overuse of branches can affect 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 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 example scenarios.
There are lots of terms and concepts peculiar to the world of branching and merging. The following sections provide some definitions and context for those ...