What is Git (Version Control System)?

Published by Sheik Mohammed Adil


Git is a version-control system (VCS) for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for source-code management in software development, but it can be used to keep track of changes in any set of files. As a distributed revision-control system, it is aimed at speed, data integrity, and support for distributed, non-linear workflows. There are multiple Version Control Systems, but Git is by far and large the most popular both for individual and company use.

Git was created by Linus Torvalds😇 in 2005 for development of the Linux kernel, with other kernel developers contributing to its initial development.

Version control is the only reasonable way to keep track of changes in code, manuscripts, presentations, and data analysis projects. I used to make numbered tar.gz files for a project. But exploring the differences is difficult, to say the least. And if you use git properly, you’ll have annotated each small change. Unless you can write something perfectly the first time, you need to have a version control system 😜.

Git repositories

A Git repository contains the history of a collection of files starting from a certain directory. The process of copying an existing Git repository via the Git tooling is called cloning. After cloning a repository the user has the complete repository with its history on his/her local machine. Of course, Git also supports the creation of new repositories.

The concept of branches

Git supports branching which means that you can work on different versions of your collection of files. A branch allows the user to switch between these versions so that he can work on different changes independently from each other.

For example, if you want to develop a new feature, you can create a branch and make the changes in this branch. This does not affect the state of your files in other branches. For example, you can work independently on a branch called production for bugfixes and on another branch called new_feature for implementing a new feature.

Ok, I think it's more than enough for you to understand What Git is. Here’s an awesome (free!) interactive tutorial sponsored by GitHub where you can learn all of the basics: try.github.io

Also participate in our event on Git & GitHub 101 to know more about Git and it's uses 😃.