There are many benefits of using a version control system for your projects. Even if you’re a very organized person, you still might get confused with a naming system like
header_image_final_final_v2.svg. Is it really final? How do you know what exactly is different between these versions and the last?
A version control system (VCS, like Git) enforce that there is only one version of your files at any given time. All past versions of files are neatly packed up inside the VCS. When you need it, you can request any version at any time, and you’ll have a snapshot of the complete project at hand.
Every time you save a new version of your project, your VCS requires you to provide a short description of the changes. Writing good descriptions gives you a story of the project. By looking on the time line of commits you can follow the evolvement of the project.
A distributed VCS like Git has some interesting side effects; every team member has a full-blown version of the project on his disk – including the project’s complete history.
Summary: the benefits of using a VCS are…
- Keep track of incremental changes: every file can be backed up automatically and can be used to revert a file to an earlier state.
- Experiments can be sandboxed to copies while keeping the main file intact during this time.
- Teams can work independently on their own files and merge them into a latest revision – common to the team.
- Good VCS systems tag changes with authors who make them.