Introduction to Git(Part 1)

Introduction to Git(Part 1)

Table of contents

No heading

No headings in the article.

What is Git?

It is a version control system for our files. Allows us to
-revert a selected file/entire project to previous state
-compare changes over time
-who/when introduced an issue

Centralised Version Control System

In a centralized version control system (CVCS), a server acts as the main repository which stores every version of code. Using centralized source control, every user commits directly to the main branch, so this type of version control often works well for small teams, because team members have the ability to communicate quickly so that no two developers want to work on the same piece of code simultaneously. Strong communication and collaboration are important to ensure a centralized workflow is successful.

Disadvantages of Central VCS

The biggest disadvantage is the single point of failure embedded within the centralized server. If the remote server goes down, then no one can work on the code or push changes.


Distributed Version Control System

A distributed version control system (DVCS) brings a local copy of the complete repository to every team member's computer, so they can commit, branch, and merge locally. The server doesn't have to store a physical file for each branch — it just needs the differences between each commit.


How Git came into existence?

Linus Torvalds invented Git 15 years ago in order to continue development of the Linux kernel. The original team could no longer use BitKeeper. At the time, no other Source Control Management (SCMs) met their specific requirements for a distributed system.


Why Git is different from other Version Control Systems?

1. Snapshots

Here Δ means the change in the files (like Δ1 is first change , Δ2 is the second change and so on). Now in other version control systems , these changes were represented with respect to the base file (here File A , File B and C ).
But git does not work like this . What it does it takes the snapshots of the projects file system at the instance , creating a reference of that snapshot and saving that. Like this: So here we can see git will take snapshots at every time whenever some changes will be done by creating a reference of it and then saving it.

2. Integrity
By this what we mean is that :
-git will know even the smallest change we make in any file
-everything in git is check summed (git uses SHA-1 mechanism for check summing)
And many more features....

Thank You everyone for taking out your valuable time and reading this blog , got inspired from the industry and especially Apoorv Goyal.