1. Version control
Versioning is a system that records the changes in one or several file contents so that future revisions of a particular version are reviewed.
Many people are accustomed to copy the entire project directory in a way to save different versions, perhaps renaming and backup time to show the difference. The only benefit is simplicity, but it's especially easy to make mistakes. Sometimes it confuses the working directory, accidentally writing the wrong file or overwriting the intended file.
2. Version control system
1) Local version control system
One of the most popular versions of the local version control system, called RCS, is now visible on many computer systems. You can use the RCS command even after you have installed the Developer Toolkit on a popular MAC OS X system. It works by saving a patch set on a hard disk (patches refer to changes before and after a file is revised), and by applying all patches, you can recalculate the contents of each version of the file.
2) centralized version control system
Centralized versioning system (centralized version control systems, referred to as CVCS), such as CVS, Subversion (SVN), and Perforce, have a single, centrally-managed server Save revisions of all files, and people who work together connect to the server through the client, take out the latest files, or submit updates. Over the years, this has become a standard practice for version control systems.
3) Distributed version control system
Distributed Versioning systems (distributed version control system, referred to as DVCS), such as Git, Mercurial, Bazaar, and Darcs, do not only extract the latest versions of file snapshots, Instead, the code repository is completely mirrored. As a result, any server that works together fails and can be recovered using any of the mirrored local repositories afterwards. Because each cloning operation is actually a full backup of the code warehouse at one time.
Further, many of these systems can be specified to interact with several different remote code warehouses. With this, you can collaborate with people from different working groups on the same project. You can set up different collaborative processes as needed, such as hierarchical model workflows, which are not achievable in previous centralized systems.
IOS-Version control system