Git Introduction

Software configuration Management/ Source code Management

Two types of version control system as

1. Centralized version control system(CVCS): we can store all the code files in that system.
Drawbacks:

  • It is not locally available, meaning you always need to be connected to their network to perform any action.
  • Since everything is centralized, if a centralized server fails, you will lose entire data. e.g SVN tool(subversion).

2. Distributed version control system(DVCS):

Git: developed by Linux Torvald.

Github: storage service. used to store your code in a repository.

In this, every contributor has a copy or clone of the repository i.e. everyone maintains the local repository of their own which contains all the files & metadata present in the main repository.

Git is a system that stores code, tracks its changes in real time and synchronizes updates on local and cloud repositories.

Git working on local Repo or working space level

Github, owned by Microsoft, stores our code in a centralized repository.

Github works on a remote server level, a common hub where all the codes are stored. It is a service which provides the repositories or provides storage to store the data.

Github is a collaboration platform for software developers and a web-based version-control system.

It is most commonly used by open source communities and it is the largest git based version control platform.

We can privately or publicly share or receive any updates for projects as it can be thought of as a serious social networking.

CVCS vs DVCS

Developers generally makes modification our codes and commit there changes directly into repositories but in DVCS(Git) it uses a different strategy, git does not track each and every modification file it means whenever you do commit an operation git first looks for the files present in staging area and only those files are consider for the commit. 

In general GIT uses small small modifications in repositories and tracks all those modifications by giving version names.