Version Control System

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.

VCS Tools

Types of VCS

  1. Centralized VCS

These systems have a single server that contains the versioned files, and some clients to check out files from a central place.

Centralized VCS
  1. 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.

Distributed VCS

Branches

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.

Branch

Types of Branches

Types of Branches

Last updated