Version Control, also known as Revision Control or Source Control is the system used for managing a repository of files, most often the source code of software. Every change is tracked. This means that information on who made the change, why the change was made and when it was made are all tracked and registered.
Version Control Systems are essential for software development. Whether working on a small or an enterprise level project, the ability to track each change and update and to reverse it as necessary is essential in achieving a well managed project.
Some of them are focused on creating closed source software, others only allow users to work on free open source software. But the most popular ones give developers both options. Some of them have free private repositories, others have different payment options.
Good Version Control Systems help developers track every aspect of their project. From issues and bugs which are managed by an issue tracker, often integrated with the Version Control System itself, to the ability to fork projects or manage teams by giving each team member different levels of access to the repository.