The main part about version control is that you have a repository, which hosts files. any changes done to those files are recorded and, as such, can be reverted back. it is kind of like google drive/google docs (except not as "real-time autosave"). usually these files involve code. version control can usually record changes to files and the lines of code themselves.version control is used by developers, mainly with coding. this may include websites, software, video games, etc. it is very useful in terms of practicality and collaboration. reverting back a previous version of a file is very useful in the coding/programming world. suppose a programmer adds in something new to a file, a code snippet or two. then he changes his mind because he does not like the feature he coded in (it does not work, inefficient, with version control, he can easily revert back the changes he made. version control also makes it easier to collaborate. oftentimes, you can use an online, remote repository such as github or bitbucket. a team of people can each connect their computers to this repository and be synchronised with the source code.recording your changes is also for teamwork as it tells you who did what. changes can be monitored as well. online repositories (like github) may also contain features to talk about issues with the code, and you can reference them in the changes.version control also allows you to have different versions of the same thing. there are open source projects where anyone able can contribute to the project; such collaborators are able to create a new version (a new "branch") from the master branch. in this new branch derived from the main master branch, one adds their code and such. in time, the original developer will look at this branch; they can add all or some of those changes to the main branch if they approve.