Version Control System...

Multiple way and tool for versioning of the source code

Version Control System...

git architecture

What is a version Control System?

version control is also known as a source control system and it is used to track and manage changes to software code. version control systems are software tools that help software teams manage changes to source code over time(recorder's changes within one or more files over time).

There are three types of version control systems:-

  1. Local version control system

  2. Centralized Version control system

  3. Distributed version control system

so let's discuss all types of version control one by one.

Local Version Control System

A local version control system is a local database located on your local computer, in which every file change is stored as a patch. Every patch set contains only the changes made to the file since its last version.

The main problem with this is that everything is stored locally. If anything were to happen to the local database, all the patches would be lost. If anything were to happen to a single version, all the changes made after that version would be lost.

Also, collaborating with other developers or a team is very hard or nearly impossible.

Centralized Version Control System

centralized version control system has a single server that contains all the file versions. This enables multiple clients to simultaneously access files on the server, pull them to their local computer or push them onto the server from their local computer. This way, everyone usually knows what everyone else on the project is doing. Administrators have control over who can do what.

The biggest issue with this structure is that everything is stored on the centralized server. If something were to happen to that server, nobody can save their versioned changes, pull files or collaborate at all.

Similar to Local Version Control, if the central database became corrupted, and backups haven't been kept, you lose the entire history of the project except whatever single snapshots people happen to have on their local machines.

The most well-known examples of centralized version control systems are Microsoft Team Foundation Server (TFS) and SVN.

Picture

Distributed Version Control System

In DVCS, there is no need to store the entire data in our local repository. Instead, we can have a clone of the remote repository to the local. We can also have a full snapshot of the project history.

The User needs to update for the changes to be reflected in the local repository. Then the user can push the changes to the central repository. If other users want to check the changes, they will pull the updated central repository to their local repository, and then they update their local copy.

dvcs

Why do we need Version Control System?

When multiple team members work on the same project, it is essential to have version control for the program. The version control system helps the team to share changes and merge changes made to artifacts seamlessly and efficiently. 

In DevOps, other than keeping track of changes, VCS also helps in developing and shipping the products faster.

VCS improves the following factors:

  • Collaboration

  • Storing Versions

  • Backup

  • Improves visibility

  • Accelerate product delivery

Please, feel free to drop any questions in the comments below. I would be happy to answer them.

If you find this post helpful😊🙂, please follow and click the heart❤❤ button below to show your support.

_ Thank you for reading

_sandhya kumari