Version control systems allow developers to keep track of changes to their files, and help them collaborate with other developers. However, it is not only programmers who benefit from such a solution, as it might be important to keep track of iterations of any project. Keeping track of different versions of a 3D model, a PCB design or a simple user manual are all examples where VCSs are useful. There are numerous VCS solutions, two groups of which are CVCS and DVCS.
One version control solution is based on centralisation. The project is stored on a single server, from which all users work. If a change is needed, the developer borrows a file from the system, makes the change, and then uploads the updated version back to the system. A popular CVCS is Subversion (SVN).
Instead of centralisation, DVCS democratises the files to be managed. Each user stores the entire project and its history on their own machine, making it easier to work remotely, from multiple devices or with multiple developers. A popular DVCS is Git, it is widely used by small teams and big tech companies, as well.
GitHub registration: https://github.com/signup
Download GitHub Desktop: https://desktop.github.com/download
Formatting the README.md file: https://docs.github.com/en/get-started/...