Centralised vs Distributed Source Control Systems
Share this post
In the previous step, you gained a great understanding of CI and the building blocks of CI.
In this step, we are going to differentiate between Centralised Source Control Systems and Distributed Source Control Systems.
Source Control is the practice of tracking and managing changes to software code. A Source Control System helps you keep track of features, bug tickets and any other changes in your development project over time.
Source Control Systems help software teams work faster and smarter and are specifically useful for DevOps teams since it helps teams to reduce development time and increase successful deployments.
Centralised Source Control System
A Centralised Source Control System keeps the history of changes on a central service from which everyone requests the latest version of the work and pushes the latest changes to.
In Centralised Source Control, there is a server and a client. The server is the master repository which contains all of the versions of the code. To pull code from the server, you have to be connected to the server.
As a result, you will always only retrieve the latest commits and not the full history of changes.
Key Strengths of Centralised Source Control include:
- Scalability to very large codebases
- Granular permission control
- Permits monitoring of usage
- Exclusive locking
Centralised Source Control is Best Suited For:
- Large codebases
- Audit and access control process
- Hard to merge files
Distributed Source Control System
In a Distributed Source Control System, each developer or client has their own server and will subsequently have a copy of the entire history or version of the code and all of its branches in their local server or machine.
Each client can work locally or disconnected from the master repository and commit changes to a local repository. To communicate a set of changes to the master repository, you issue a request to the master repository and push your local repository code to the master repository.
Key Strengths of Distributed Source Control include:
- Cross-platform support
- Open source friendly code review model via pull requests
- Complete offline support
- Portable history
- Enthusiastic growing user base
Distributed Source Control is Best Suited For:
- Small and modular codebases
- Evolving through open source
- Highly distributed teams
- Teams working across platforms
- Greenfield codebases
In the next step, we investigate basic Git commands.
Share this post
Microsoft Future Ready: Continuous Integration Implementation

Microsoft Future Ready: Continuous Integration Implementation

Our purpose is to transform access to education.
We offer a diverse selection of courses from leading universities and cultural institutions from around the world. These are delivered one step at a time, and are accessible on mobile, tablet and desktop, so you can fit learning around your life.
We believe learning should be an enjoyable, social experience, so our courses offer the opportunity to discuss what you’re learning with others as you go, helping you make fresh discoveries and form new ideas.
You can unlock new opportunities with unlimited access to hundreds of online short courses for a year by subscribing to our Unlimited package. Build your knowledge with top universities and organisations.
Learn more about how FutureLearn is transforming access to education
Register to receive updates
-
Create an account to receive our newsletter, course recommendations and promotions.
Register for free