What is version control?
Version control (also called Revision Control System) can be defined as a system which records changes or modifications to a source code or files so that the user can recall/restore specific versions later on. Each and every modification to the source code is tracked in a database along with the details of who modified the code & why modification was made. If some mistake is made, then comparison with earlier versions of code and restoring back to fix the issues with minimum disruption to other team mates.
Now these a days, most of the development companies are working in distributed, collaborative development environments. Software development teams are continuously writing new set of lines of source code and modifying/changing the existing code.
The source code for a project is typically organized in a file/folder structure. If we take an example of a project in which team needs to create Social Network website then one developer in a team may be working on some functionality(Login and Registration module) while another developer is working on bug fixes by modifying/changing code, each developer may make their respective modifications/changes in several locations of file structure without any track record that where the team mates has made the changes.
Version control system helps these kind of teams to solve these problems by tracking all the individual changes done by each contributor/developer and preventing conflicts in concurrent work. Modifications/Changes made in one part of the project can be incompatible with the changes made by another developer and this problem should be found and sorted out in a systematic way without hindering the work rest of the team mates.