We recommend using Visual Studio 2017

Team Foundation Source Control

Team Foundation source control provides standard source-code version control functionality, which can scale to handle thousands of developers. Beyond the typical source control functionality, Team Foundation is also an enterprise class software configuration management product that provides integrated version control, issue tracking, and process management for development teams.

Team Foundation source control includes the following features:

  • Complete version control feature set.

  • Check-ins on a one change at a time basis.

  • Powerful branching and merging.

  • Shelving.

  • Check-in policies.

Besides being integrated into the Visual Studio environment with other Team Foundation technologies, such as creating a build and work item tracking, the source control also includes a stand-alone graphical user interface and a command line interface.

Source Control User Roles

There are two primary types of roles that use Team Foundation source control.

  • Contributor   A contributor is a user of Team Foundation source control who is primarily concerned with adding, deleting, and modifying files in the source control server. This role is most frequently associated with software developers working on a software project; however, because not all files that are contained in the source control server are necessarily source code files, the contributor role is not limited to developers. For example, a contributor could be a technical writer whose product is documentation, or a graphic artist whose product is a binary image file.

    A contributor uses Team Foundation source control as a mechanism for sharing their work with other contributors, for maintaining a historical view of all changes which have been introduced by all contributors, and for archiving their work in a central location that can be backed up for redundancy.

    A contributor will use Team Foundation source control to:

    • Retrieve files from the source control server.

    • Check out files for modification.

    • Check in modified files.

    • Add files to the source control server.

    • Delete files from the source control server.

    • Compare files.

    • Merge changes between files.

  • Administrator   The second role is an administrator who is concerned more with the administration of the source control server and the use of the files that it contains for creating a reproducible software build. An administrator is responsible for maintaining the integrity of data stored in the software configuration management system. This task differs based on a particular system; however it usually involves managing access to the source control server and enforcing a backup policy for data that it contains. Because the software configuration management system is the storehouse for the intellectual property of the company, the administrator has ultimate responsibility for ensuring the availability and the integrity of the corporate intellectual property.

    The administrator is responsible for managing the workgroups, permissions, handling setup, installing security updates and all other information technology related work.

    The administrator is responsible for managing and branching the various code lines in the source control server according to the configuration management methodology being employed by the team. Typically, the software configuration management engineer is the one who enforces policies, such as which branches are writeable and when a branch should be created.

    The administrator might also be responsible for merging changes between branches; however, this role is frequently trusted to contributors in most environments. The administrator might also be responsible for producing a reproducible build from the files placed in the software configuration management system. To this extent, the administrator needs the ability to mark a snapshot of the files during the build process for later retrieval. The administrator might also have to archive and version the intermediate and final output of the build process for later review.

    An administrator will use Team Foundation source control to:

    • Branch code files in the source control server.

    • Label a snapshot of the current development state.

    • Merge changes between source control server branches.

In This Section

Introduction to Team Foundation for Visual SourceSafe Users

Provides guidance for users migrating from a Visual SourceSafe environment to Team Foundation source control.

How to: Configure Team Foundation Source Control to use Proxy Server

Describes how to setup your computer to use Team Foundation Server Proxy.

How to: Change Source Control Environment Settings

Describes changing default values for common environment settings.

How to: Configure Source Control User Tools

Describes how to specify user tools for operations on various file types.

How to: Clean Up Files When Users Leave

Explains how to dispose of a user's files once they are no longer on your team.

Team Foundation Source Control Naming Syntax, Conventions, and Limitations

Describes naming syntax, conventions and limitation applicable for Team Foundation source control.

Using Source Control Explorer

Describes how Source Control Explorer is used for conducting source control operations within a Team Foundation Visual Studio client.


Related Sections

Team Foundation Source Control Walkthroughs

Lists walkthroughs that explore using source control, customizing a source control check-in and using source control from the command line.

Administering Team Foundation Source Control

Lists topics that apply to administrators of Team Foundation source control.

See Also