Introduction
In this DevOps series, we learn what version controlling system is VCS and source code management SCM. Version controlling system is Git and Source Code Management is GitHub. Git is a DevOps tool used for source code management. It is a free and open-source version control system used to handle small to very large projects efficiently.
What are VCS and SCM?
Let me go through an example. So, We are working on a project and there are 4 different types of developers.

DEV A and DEV B are backend developers. DEV C is a UI developer and DEV D is a database developer. So, DEV A and DEV B started writing backend code using C#.Net, and VB.Net. DEV C started writing code using HTML, CSS, Javascript, Jquery Bootstrap, Angular, or React. DEV D started writing code or script using SQL Server, Oracle, and MySql DB. So, Everyone will keep their own files on their local machines. But I want the combined code of every developer in a single system instead of keeping individual files because it is a Web project. So, everything should be integrated with each other in one place. Here I will ask each and every developer to keep and manage their files in a central place called GitHub. So, once DEV A, DEV B, DEV C, and DEV D finish their code then they can place their code in GitHub. Finally, the code of every developer is saved in a central place called GitHub.
Let's understand SCM with a Scenario
In the above example, DEV A and DEV B are backend developers. So, DEV A created one file and kept it in GitHub, and in this same file DEV B wants to work.
In that scenario, B should not ask DEV A for permission because this file of DEV A is already present in a central place called GitHub. So, DEV D will take the code from GitHub keep modifications in this file as per the requirements, and then push the same file in GitHub. So, Again DEV A can pull the same file from GitHub whatever changes were made by DEV B earlier and DEV A makes some changes as per requirements and pushes this same file into GitHub.

In this example you can see there is file File1.cs is created by DEV A and DEV A added one button functionality using C# code and kept it in GitHub. The same file DEV B pulled from GitHub and made one change in File1.cs he added the background color of the button and pushed the same file into GitHub. Again, DEV A pulled the same file File1.cs from GitHub and added one functionality that on the button click event added empty field validation using C#, and pushed the same file into a central place called GitHub. So, in this way, we manage a central place called Source Code Management. Here the operation for managing the source code is performed. So, GitHub is the most popular Source Code Management tool in the market.
Let's Understand VCS With Scenario
In the development life cycle, every developer will make some changes as per requirements. In certain scenarios what file has been pushed to GitHub by DEV A shows some defects. So, how to identify those defects or track the changes history made by each developer? This mechanism comes under VCS.

For example, DEV A has pushed the files to GitHub. So, here VCS will maintain a specific Version ID for that change made by DEV A. VCS every time maintains by generating Version ID for those who have done changes. So, after file changes made by DEV A, the VCS has one Version ID and the same file has been changed by DEV B, and the VCS has another Version ID. Every time VCS has a unique Version ID for each and every change.









Join the conversation! Your thoughts help the community grow.