top of page

What is a distributed version control system?

Updated: Dec 1, 2023

In a distributed version control system, a local copy of the complete repository is present on every team member’s computer, giving them the power to commit, branch, and merge in the system locally. The server only stores the differences between each commit instead of storing every file.


Distributed source code management systems, such as Git and Mercurial, clone the repository and its entire history as a local copy on individual machines.


This system helps software development teams create robust workflows and hierarchies, with each developer pushing code changes to their repository and setting a code review process to ensure only quality code merges into the main branch.


This system can be complex to understand initially, mainly if a team member uses a centralized source code system. We can not rely on a server to resolve conflicts when merging and have to resolve them locally, which is sometimes confusing.


Distributed Version control example

Advantages of Distributed Version Control


Work offline


Not relying on the internet/intranet to be connected to the server, so most development, except pushing and pulling, can be done at any time.



Easy branching


Distributed version control also allows software development teams to use different branching strategies, which is impossible in a centralized version control system.


Quick feedback


Having an entire repository locally means they can quickly experiment and request a code review.


Fewer conflicts


Merge conflicts are less likely because teams focus on their piece of code. The development team benefits from fast feedback loops and can share changes with team members before merging the changeset.



8,410 views0 comments

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page