Hello, yes, students in this lesson will talk about version control systems, we are going to discuss
why do we need them?
I will give you the list of the most popular version, control systems.
And we will focus our attention on get why we have to learn it.
And at the end of this lesson, I will give you a short overview of good features and how it operates.
First of all, get the same as ours and mission control systems is not a programming language.
You might be wondering then why do we need to learn it?
It is pretty common that multiple software engineers work on the same program simultaneously or different
versions of a program are deployed on different environments.
Thus, GM needs to have some tools that will allow them to track changes in the source code, configuration
files and time documentation.
For example, each engineer may have archive was the source code and after that key members have to
merge got somehow together.
While this approach might work, it is extremely inefficient and doesn't allow to track changes closely
also for the purpose of finding localising and fixing the defect in the code.
It is critically important to compare different versions of the code to identify where exactly back
appeared to fix it.
That's why we are, as a programmers should know how to use version control systems.
Let's quickly discuss what is the most popular version control systems are.
They are Baza CBS Marcorelle Subversion Get and according to this survey, get this used by almost millions
of people who took part in this survey.
Definitely get the most powerful and popular version control system nowadays.
That is the first reason why we are going to learn it.
The second reason is the fact that knowing how it works, it would be like piece of cake for you to
understand how, as a controlled version, systems work.
Every job description for software engineer require from your knowledge of it because of its popularity.
As you might already understand, it is a program which is used to track changes in the source code
during the development, but it can be used with any type of files.
Right now we'll do high level overview of the gate.
I will tell you key features and basic principles of how it operates.
The key difference between the gate and other version control systems is that it doesn't store differences
in files.
It stores links to the snapshot of changed files in case file wasn't changed.
Get doesn't store this file again.
Instead, it stores just a link to the previous identical files that was already stored.
So each time you can make changes, it takes a picture of what all files look like at the moment and
stores a reference to that snapshot.
This is important distinction between GIT and other version control systems.
And another important get feature is the fact that you can't do anything without knowing this before
snapshot of your file system is created, everything is check samed and hashas created afterwards.
You can use this checksum to refer to this exact state of the files.
That means it is impossible to change the contents of any file or directory without knowing about it.
So each your command has 40 characters string composed of hexadecimal characters and calculated based
on the contents of a file or directories structure.
Hash looks like this and you can use this hash string to navigate between different versions of your
code version.
Control systems might be centralized and distributed in centralized.
All engineers are connected to the main server and all people collaborate through that server.
The biggest drawback here is the fact that when central server is down, you can't collaborate in distributed
version control systems.
Each engineer has a copy of the whole project and can easily restore it if needed or in case there is
no network get is a distributed version control system to perform most of operations.
And yet you don't need information from another computer.
That's why there is no latency overhead.
When you work with Target, you have entire history of your repository of all changes right on your
local computer.
You have hidden dot gate folder that contains all information about the repository and you don't necessarily
need Internet connection to perform some operations was get if you are in airplane and you want to do
some coding, you can do that and successfully save all your changes.
You can also navigate the.
In the repository of your project and navigate to different versions of your code while being offline,
for example, in simple version and CVS, you can edit files, but you can't save changes to database
just because you are offline.
It doesn't seem to be a huge problem, though, but probably in the real world you want love this.
Having all repository history on your local computer gives you instant access for all changes.
That also means much better performance.
Before we get deeper to get program and get comments, I want you to understand basic principle of interaction
with Get This will help you to understand our next lessons.
All your files, according to it, can be in three different states.
Modify it.
That means you modified the file, but you have not committed your changes yet.
Staged.
This means you have marked a modified file to be present in the next snapshot of your file system.
Information about such changes is placed in the file with name index.
That's why during the course, sometimes I'm going to say at file to stage or at the index, and you
will understand that this means the same across all files from staging area that are marked to be present
in the next snapshot are reflected in index file.
Does it make sense?
And the state is committed.
This means that data is safely stored in your local database.
We can say that you have working directly that a set of files you work with the staging area is the
index file and Hidden doGet folder is a folder where it stores all data about your project, including
database for your project.
So your basic interactions with GIT are going to look like this.
You changes do file or to a set of files.
You add those files to index, you can make the changes and you create a snapshot of your files.
That said, let's recap what we have learned today.
Today we learned why we need version control systems.
Now, you know, the most popular version, control systems.
And you know, that git is the most popular v.c as you learn the key features of the kit and understood
how it operates, I believe now we are ready to proceed with our next lesson.
Thanks a lot for your attention and see you in the next lesson.