Version Control
What is version control?
First of all, this is not one of those boring articles like what are the benefits of version control systems, why you should use them, and so on. The point is that it is essential, and you should use it. I do not understand these kinds of things easily, I need a simple explanation from the ground up. So, before I get into using Git, GitHub, or any other version control systems, I need to understand what the heck version control is.
Along the way, I found out that…
Gentle INTRO.
Version control is a class of systems that records changes to a file or set of files over time, along with information such as who, when, and what, so that you can recall specific versions later. It is an important component of software configuration management. It does not matter if you are working alone or part of a large group project it is very useful in both cases. Multiple people are working on the same project simultaneously independently. This means that each person edits her or his copy and decided for themselves when to share it with others so that temporary or partial edits do not interfere with others' work.
How does it work?
There are 2 main parts to the whole system: repository and working copy. The repository (GitHub is the perfect example for repo) is the database of changes…