So what exactly does a
VCS do? Before we go any further, let's go ahead and understand some basic terminology.
You might come cross terms such as Source Control or Revision Control instead of Version Control, but these are interchangeable terms and keep in mind that they mean one and the same thing. However, we will be sticking to Version Control System for the remainder of this course.
A collection of all the files you and your team are working on is called a
Repository. It also contains some special data such as the order in which the changes occurred, the description of the change and the person responsible for that particular change.
A change in your project might take hours, days or even weeks to finish. It would be unfair to treat unfinished work as a
version. You are required to tell the VCS that you are done with the change and that you wish you save it as a version so that it can track it for you. The act of telling a VCS that a version is finished is called
committing. Hence, versions are often referred to as
VCS hides the complexity of multiple commits so that your project looks clean and tidy. It does this by storing all data in folders which are marked hidden so you don't realize that they are present on your computer until you need to interact with them.
But what if your repository is inside a hidden folder? This is the third major functionality of a VCS. It lets you view your project history. You can check how your project looked yesterday, a month before or even a year ago, often with a single command.
They also let you share your repository with your other team members so that collaboration is easy. Developers often work together on a single project and
VCS just makes it easier for them.
So now let's understand why we use
Git. There are a lot of Version Control Systems available, but Git is among the most popular. Let's see why!