Chapter 5Overview of Version Control

What's in this chapter?

  • Understanding the purpose, core concepts, and benefits of version control
  • Understanding the differences between Team Foundation Version Control and Git-based repositories
  • Analyzing the strengths and weaknesses of common version control products

Version control is the single most important tool you can use when developing software, regardless of the particular provider you use to give you version control functionality. Most software developers use version control tools in their day-to-day jobs, and yet, the fundamental concepts and reasoning behind version control are rarely discussed.

This chapter starts by explaining the fundamental concepts of version control and what functionality you typically find from a tool-independent viewpoint. Then we will discuss the similarities and differences between centralized and distributed version control systems. We then examine various important version control tools and analyze their strengths and weaknesses. The chapter concludes with a high-level look at the version control capabilities of Team Foundation Server, and looks at when Team Foundation Server is or is not the correct tool for your team.

What Is Version Control?

Version control is known by many names. “Source control” is frequently used, but the term “revision control” and even “software/source configuration management” (SCM) can be used to refer to the same broad set of functionality. Because a modern software ...

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

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.