Make Selenium Easy

Git Tutorial 1 – What is Version Control System?

Introduction

Your manager at work asks you to work on a critical research task. You work hard on that and submit the first version of the document for review. There is a lot of review comments from your manager in which you are asked to remove some existing content and add new content. You work on review comments and submit the second version of the same document. You are asked to incorporate again some previously removed content. If you have the first version of the document than you can include those removed lines easily. If you don’t have that then you may need to rework on the same. This is actually an example of a Version Control System and you can just imagine how much it is useful.

It was just one docuemnt and one person is working on that. There is a huge code repo When we develop software or writing automated scripts for testing. Multiple developers will be working on the same repo and they will add, delete, modify script files. If we do not keep tracking of those changes then we will be in mess. All we need here is a Version Control System. It is also called Revision Control, Source Control, or Source Code Management(SCM).

Did you know that I have started a YouTube channel as well and I need your support to make it successful. Please do watch content then comment, like, share, and obviously subscribe.

Version Control System

A Version Control System is a utility or software which helps us to track and manage changes to a file system or code repo for better collaboration among developers to develop an application. It can keep history of changes into a file including who has changed and what was changed.

I will give some scenarios below which will help you to understand why do we need a VCS software.

  1. If multiple developers are working parallely on same code repo then how code from all developers will be merged and shared across all developers? It will not be feasible to wait for one developer to finish the coding first and then share the updated code base with another developer.
  2. Suppose the changes from a developer breaks the functionality of an application then It is required to know who has modified the code recently and what was modified. There should be a mechanism which allows us to undo the changes.
  3. Multiple developers can add codes for new features to the same code base at the same time and that can be deployed to different environemnts to test individually. Merging all those codes will be a challege.
  4. You have stored code repo in a system and if that system is crashed then you may lose all codes. VCS can help to backup code base in a central or distributed system.
  5. For DevOps process, storing code in a local system will not help.
  6. Comparing different versions of same code repo and including what works for best is error prone if done manually.

There are many numerous scnarios where you really required a VCS which we will see in upcoming posts.

Types of Version Control System

There can be three types of Version Control Systems:-

  1. Local VCS -> Files are stored locally on a system.
  2. Centralized VCS -> Files are stored on a single server.
  3. Distributed VCS -> Files are mirrored with full version history to other systems. Git is a distributed version control system in which repositoroes are cloned to developer’s system.

You can subscribe to my YouTube channel RetargetCommon to learn from video tutorials.

If you have any doubt, feel free to comment below.
If you like my posts, please like, comment, share and subscribe.
#ThanksForReading
#HappyLearning

Find all Selenium related posts here, all API manual and automation related posts here, and find frequently asked Java Programs here.

Author: Amod Mahajan

My name is Amod Mahajan and I am an IT employee with 6+ years of experience in Software testing and staying in Bengaluru. My area of interest is Automation testing. I started from basics and went through so many selenium tutorials. Thanks to Mukesh Otwani as his tutorials are easy and cover basics to advance. I have habit of exploring concepts by deep diving. I used to make notes. I thought of sharing my knowledge through posts and now I am here. #KeepLearning #ShareLearning

Leave a Reply

Please wait...

Subscribe to new posts to become automation expert

Want to be notified when my new post is published? Get my posts in your inbox.

Git Tutorial 1 – What is Version Control System?

by Amod Mahajan time to read: 3 min
0
%d bloggers like this: