Version Control System
Last updated
Last updated
Version control, also known as source control, is the practice of tracking and managing changes to software code. Version control systems are software tools that help software teams manage changes to source code over time.
Centralized VCS
These systems have a single server that contains the versioned files, and some clients to check out files from a central place.
Distributed VCS
In a Distributed Version Control System (such as Git, Mercurial, Bazaar or Darcs), the user has a local copy of a repository.
So, the clients don't just check out the latest snapshot of the files even they can fully mirror the repository.
The local repository contains all the files and metadata present in the main repository.
A branch is a version of the repository that diverges from the main working project. It is a feature available in most modern version control systems.
A Git project can have more than one branch. These branches are a pointer to a snapshot of your changes.]
When you want to add a new feature or fix a bug, you spawn a new branch to summarize your changes.
So, it is complex to merge the unstable code with the main code base and also facilitates you to clean up your future history before merging with the main branch.