WHAT'S IN THIS CHAPTER?
Understanding branching terminology and concepts
Getting to know common branching strategies
Using the branching and merging tools
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 Team Foundation Server having good support. At the other extreme, some people, who see all the great branch and merge functionality now available, can go a little crazy with their newly found power. Overuse of branches 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 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 2010, 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 ...