GIT Version Control

Nivethika gnanaseelan
4 min readApr 20, 2021

There are millions of programmers around the world. What if they want to work in one software.

How can they manage it?

Is it easy?
No, it is difficult. Here the concept called Git comes in.

What is GIT?

  • Git is a distributed version control system.

Ok, now you will get a question what is distributed version control system? I guess you think of it as Heavy words. Let’s see what does it mean?

First, we will discuss version control?

What is version control?

Let’s say that you are working on a project alone. So At first you will get some high-level requirements from the client and you will try to create a minimum value product. It doesn’t have any special features. After some days you have added new features to the project. But it’s not working. So what will you do? You have to remove all the features now. Or sometimes if you show the new versions to your client and if they didn’t like it. You have to delete all the codes.
After sometimes if the clients need those features you have to type again or you can copy the code from the backup and paste it. Don’t you think you have to do a lot?
And sometimes you have added more features and removed some also.
Now you want the older version what can you do?
So normally to avoid such situations we will maintain all these versions. For that, we have a concept called version control.

When you are creating a project you will create multiple versions of the project like version 1.1, version 1.2, etc. Let’s say now you are working on version 2.0. What if you want the older version of the project?

For this normally what we do is we will create multiple folders on the hard drive. Which will store the backup of the project with each version.

But we don’t need to do this now. For this, we have a powerful tool called Git

The version control system is a system that records changes to a file or set of files over time. So you can recall specific versions later.

There are two types of version control which are

  1. Centralized version control
  2. Distributed version control

Centralized version control

Earlier people used Centralized version control system. Now they use Distributed version control system.
In the Centralized version, you will have one or more computers and one server.
Whenever you write a code and when you add new features the previous version will be stored in the centralized server.
The drawback of this is
1)What if the server breakdowns,
Although you have the working copy of your project on the computer, all the versions are stored on the server. So you will lose all the stored versions.
2)When you are in a remote place where there is no network connection. You cant access the server.

Distributed version control

To overcome this problem mentioned above we have Distributed version control .
What if Everyone can have their copy. So we will be having a working copy and an own copy know as a local repository. And the server will have a remote repository.
Now the advantage is, Even if the server fails we well have all the versions in the local repository. If we want we can push the local copy to the server later.
Here we are distributing the repositories. This is known as distributed version control.
Here every machine has a local copy and the server have a copy.
Even you are on a flight or a remote place it is fine. You can work on using the local repository. And when you get the internet connection you can push it to the remote repository.

Advantages of version control

  • Easier backups and centralized source code repository.
  • Easy collaborative development.
  • Overview of changes performed to a file
  • Access control

GIT

  • GIT is created by Linus Torvalds.
    Your guess is correct?
    He is the same guy who created the Linux kernel.
  • Git is a free and open-source distributed version control system. We can handle small to large projects using git easily and efficiently.
  • It also allows you to work with other programmers.
  • GIT has software tools that help the team members to track the changes in the source code. It uses a special kind of database to keep track of the changes.

Conclusion

This article gives an introduction to the git version control system.

I hope you find this article useful!

Don't forget to comment with your ideas. See you soon……!😊

--

--