I hope you know have been cleared the difference between Git and GitHub with this corollary. So let’s Just move ahead and discuss:
A version is state of your working repository, more precisely said it is a snapshot of state. A state is a temporal factor that may vary with time, but a snapshot of anything has a time stamp associated with it that stores the state of the object at that particular time. Consider the corollary of the art/drawing to understand what clearly a version. In Drawing, there are many phases involved till completion of drawing, like the creation of layouts, Shading, adding Colors. These are the four different versions of a sketch, that leads to final sketch, shown in the fourth image. Though this image doesn’t allow to switch to any one of the four Versions created but only to view the versions.
While Git provides us the freedom to switch among any versions, which I will describe in upcoming posts soon.
Version Control system lets you keep the track of various snapshots of your working directory and manage them.
There are basically three types of version control system as mentioned above, we will discuss all of them one by one:
As the name suggests Local Version Control System, Local Version Control System resides in your local computer System. The simplest Version Control System can be maintaining multiple copies of the work in the different directory. For better management, you could name the directory with a timestamp, i.e. (a directory name + date and time with that name). You could do this simply entering date and time along with directory name in GUI interface or if you prefer Commands over GUI you could check one of the following links according to your OS.
Since the method explained above create multiples of copies of the same or a bit modified content, that leads to space problem and also leads to difficulty in remembering the file paths of each copy and maintenance problem. So programmers created a Local Revision Control System (LRCS), that maintains a local database and keep tracks of every version ( by recording the difference between two versions as a patch in a special format) and allow the user to switch from one version to other easily(by adding patches to the subsequent version).