What's in this chapter?
- Introducing Distributed Version Control concepts
- Learning about Visual Studio integration with Git
- Learning about using Git command-line tools with Team Foundation Server
Version control is one of the primary functions of Team Foundation Server and, as a result, has seen major changes in each release. These changes have improved upon the core version control functionality: providing features, enabling new workflows, and extending the scale of TFS to still greater levels. In each of these changes, up until TFS 2013, the core concept of Team Foundation Version Control as a centralized version control system has remained intact. TFS 2013 breaks from tradition and provides the entirely new concept of a distributed version control tool: Git.
Version control systems can be split into three types. With a check-out/edit/check-in system, such as TFS server workspaces, you are required to explicitly check out a file before you can make changes locally and check the changes back in to the server. TFS enforces this workflow by marking your local files as read-only until the file is checked out. In some configurations, checking out a file implies taking a lock as well, which prevents other developers from checking out the file and eliminates concurrent development and the corresponding potential for merge conflicts.
With an edit/merge/commit system, such as TFS Local Workspaces, you do not ...