DEV Community

Vasudevan Tamilarasan
Vasudevan Tamilarasan

Posted on

Version Control Systems

Payilagam Day - 03 - 17-Feb-2025

Topic: Version Control System:

A software that is used to manage the updated versions of the file (or) a whole project.

1990 -> Centralized version control system was invented by Linus Torvalds.

Next, it wasn't enough to manage the large number of developers working on a single project.

In 2004, BitKeeper, a private organization, introduced a version control system. But later, it was converted into a fully paid version, so no one could access BitKeeper without paying for it.

This affected Linux's open-source nature. Hence, Linux developers decided to create a version control system and make it open-source.

The result was GIT.

Basically, the version control system is categorized into two types:

Centralized Version Control System.
Decentralized (or) Distributed Version Control System.
Enter fullscreen mode Exit fullscreen mode

GIT is a Distributed Version Control System.

GIT tracks the files according to the commits made by the developers. It tracks:

Who made the change.
When they made the change.
Where they made the change.
Enter fullscreen mode Exit fullscreen mode

These changes are very useful when an error occurs in the project and it's easy to reverse the changes, thus ensuring the project successfully runs on its older version. For this nature of work, it is called a Version Control System.

Types of Version Control Systems:

  1. Centralized Version Control System: A server is set up to allow a limited number of developers to commit their code to track versions. It depends on the network and requires protection of the server. If the server goes down, we can't retrieve the files.

  2. Decentralized (or) Distributed Version Control System: This type of VCS manages versions in two places. Unlike CVCS, it manages versions both in the local workspace and in the cloud workspace. Here, a cloud workspace (like the server in CVCS) comes into play. The versions are managed in both local and cloud workspaces.

GIT Workflow: Modified Code -> Commit -> Push -> Cloud
(Stores local versions in the local workspace)

When a developer commits the updated file, it tracks the changed files in the local workspace. When the developer is done with the push, it automatically goes to the cloud repository linked to GIT (e.g., GitHub, GitLab, BitBucket).

Top comments (0)