What is Version Control
In basic terms, without getting too wordy, version control consists of making incremental copies of your work which you can then rewind to at any point. If there's more than one of you developing, it ensures you always have the latest copy of your project and if there are any clashes (for example 2 people have made changes to the same file) your version control system will help you to merge the files.
Not just best practice - it's essential
Version Control is also known as source control and revision control and it's an essential part of any software development workflow. Even if you're one guy on your own just messing around with your first website, you should still get into the habit of versioning your work.
What can version control do for me?
It can't do the vacuuming, wash your car or look after the kids, but it will become one of the most useful pieces of software you use on a day to day basis. Some of the things it can do are:
- Track previous versions of your files.
- Highlight exactly what changed between 2 versions of a file.
- Share code with your team members.
- Maintain multiple versions of your code. For example, a production and development version.
- Control access to your files and set permissions on different folders within your project. This is useful if you only want authorised developers to access your production code.
- It's impossible to 'overwrite' any of your work.
Sounds useful but I don't want to change the way I work.
In fact, versioning your files can be a completely passive
process which happens in the background when you click save.
We've written an article entitled
How do I Version Control my Files? which should give you an
idea of how easy it is to start benefiting from version
control.
Further reading
There's a whole lot of stuff on the web about version control. myVersionControl uses Subversion under the hood to manage your revisions. The following a worth a read:
- Version Control with Subversion A free online book published by O'Reilly Media (in depth).