What is Azure Repos?

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Azure Repos is a set of version control tools that you can use to manage your code. Whether your software project is large or small, using version control as soon as possible is a good idea.

Version control systems are software that helps you track changes you make in your code over time. As you edit your code, you tell the version control system to take a snapshot of your files. The version control system saves that snapshot permanently so you can recall it later if you need it. Use version control to save your work and coordinate code changes across your team.

Even if you're a single developer, version control helps you stay organized as you fix bugs and develop new features. Version control keeps a history of your development so that you can review and even roll back to any version of your code with ease.

Azure Repos provides two types of version control:


Git is the most commonly used version control system today and is quickly becoming the standard for version control. Git is a distributed version control system, meaning that your local copy of code is a complete version control repository. These fully functional local repositories make it easy to work offline or remotely. You commit your work locally, and then sync your copy of the repository with the copy on the server.

Git in Azure Repos is standard Git. You can use the clients and tools of your choice, such as Git for Windows, Mac, partners' Git services, and tools such as Visual Studio and Visual Studio Code.

Connect your favorite development environment

Connect your favorite development environment to Azure Repos to access your repos and manage your work. Share your code using:

Review code with pull requests

Review code with your team and make sure that changes build and pass tests before it gets merged.

Protect branches with policies

There are a few critical branches in your repo that the team relies on to always be in good shape, such as your master branch. Require pull requests to make any changes on these branches. Developers who push changes directly to the protected branches have their pushes rejected.

Add conditions to your pull requests to enforce a higher level of code quality in your key branches. A clean build of the merged code and approval from multiple reviewers are extra requirements that you can set to help protect your key branches.

Extend pull request workflows with pull request status

Pull requests and branch policies enable teams to enforce many best practices related to reviewing code and running automated builds. But many teams have other requirements and validations to perform on code. To cover these individual and custom needs, Azure Repos offers pull request statuses.

Pull request statuses integrate into the PR workflow. They allow external services to programmatically sign off on a code change by associating simple success/failure information with a pull request.

Isolate code with forks

Forks are a great way to isolate experimental, risky, or confidential changes from the original codebase. A fork is a complete copy of a repository, including all files, commits, and (optionally) branches. The new fork acts as if someone cloned the original repository and then pushed to a new, empty repository.

After a fork gets created, new files, folders, and branches aren't shared between the repositories unless a pull request carries them along. After you're ready to share those changes, it's easy to use pull requests to push the changes back to the original repository.


Azure Repos also supports Team Foundation Version Control (TFVC). TFVC is a centralized version control system. Typically, team members have only one version of each file on their dev machines. Historical data is maintained only on the server. Branches are path-based and created on the server.

Get started by creating a project, configuring your workspace, and reviewing and sharing your code. You can use any one of these clients or IDEs:

Learn more