3 reasons why you should use Version Control System

Mateusz Lubański
Apr 13 · 2 min read

What is a VCS?

A version control system or VCS, also know as revision control or source control system, is a software utility that tracks and manages changes to a filesystem. A VCS also offers collaborative utilities to share and integrate these filesystem changes to other VCS users. When operating at the filesystem level, a VCS will track the addition, deletion, and modification actions applied to files and directories. A repository is a VCS term which describes when VCS is tracking a filesystem. In the scope of individual source code files, a VCS will track additions, deletions, modifications of the lines of text within that file.

VCS is an invaluable tool with many benefits to a collaborative software team workflow. Any software project that has more than one developer maintaining source code files should absolutely use a VCS. Additionally, sole-maintainer projects will also greatly benefit from utilizing a VCS. There is arguably no valid reason to forgo the use of a VCS in any modern software development project.

Why to use it?


With a VCS, everybody on the team is able to work absolutely freely — on any file at any time. The VCS will later allow you to merge all the changes into a common version. There’s no question where the latest version of a file or the whole project is. It’s in a common, central place: your version control system.

Rollback and undo changes to source code

Once a VCS has begun tracking a source code file system, it keeps a history of changes and the state of the source code throughout a project’s history. This enables the possibility to “undo” or rollback a source code project to a last well-known state. If a bug is discovered in a live application, the code can be quickly reverted to a known stable version.

Understanding What Happened

Every time you save a new version of your project, your VCS requires you to provide a short description of what was changed. Additionally (if it’s a code / text file), you can see what exactly was changed in the file’s content. This helps you understand how your project evolved between versions.

Mateusz Lubański

Written by

DevOps & Software Engineer focused on how to improve, scale and automate software development processes. In privite time love sport, nature, travels and salsa

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade