Git Part 1: Definition and Concept
What is Git?
'Please.. don't ask!' ;(
In short...
it's a Distributed Version Control System (DVCS).
For a better understanding,
first let's look at what a 'Version Control System' is.
A simple example of a version control system (VCS) is numbering the files when saving them.
Unlike overwriting, by saving "step by step”, the basic concept of a version control system is a system capable of tracking the code history and recovering what happened.
The most basic type of VCS is the “local version control system”.
In addition,
the most commonly used method in companies for collaboration is called
“Centralized Version Control System” (CVCS).
“Centralized version control system” (CVCS) is literally “centralized”—
a way to manage everything via centralized control.
There is a central server; developers modify and change code within the network.
After work is done they place it back to the central server, merging step-by-step.
While manual control is easy in this case,
if there's a problem with the central server, the problem can snowball.
To overcome these shortcomings
and to adopt the current speed and needs for development in the 21st century,
a more advanced version control system was needed.
That's where "GIT" comes in.
In 2020 today,
as you can see on the screen here,
according to surveys by a few renowned entities,
GIT is the most used version control system in the world.
Among developers from around the world who participated in this survey,
it is noteworthy that
GIT is the version control system that about 90% of users choose and use whatever programming language they major.
So, what makes Git different
from centralized, and is it being used overwhelmingly these days?
It can be explained if you understand the basic concept of GIT.
The basic concept of GIT:
First — “Dispersibility”
In the beginning of this video,
I said GIT is a “distributed” version control system.
As you might say, there is no “central” control.
Through GIT's “de-centralization”,
multiple developers can work together at the same time and without regional restrictions,
anywhere in the world.
[screen: “There is no border in 21st centutry's dev world!”]
Secondly —
“Stability"
Unlike the centralized version control system,
multiple local and remote repositories allow step-by-step code management and development.
Therefore it's also safer!
Lastly — “Flexibility”
 [“柔能制剛: the soft wins the strong!”]
Compared to the centralized, “controlled” system,
the “versatility/flexibility” of GIT enables code recovery and merge
in many ways more quickly and efficiently.
In view of these points,
it is proved that it is not an exaggeration to say—
that GIT is “the most efficient version control system for the 21st century”.
So it’s almost a “must” to know how to use GIT
if you’re a developer in 21st century…
whatever field you focus.
That is one of the reasons
we, Hanl Network, picked “Git” as the first subject for our new Crash & Practice series.
Now that the definition and basic concept of GIT have been reviewed,
let's move on to the part 2— “Git basic terms and commands”.
