The importance of controlling versions

A version controller is a system allowing us to keep track of the modifications made to a file over time. It is normally used in software development environments, but can also be extremely useful for anyone who needs a robust control over the task being performed. Most people use a version control system without being aware of it. The clearest example is when we edit any type of file in storage services in the “cloud”, such as Google Drive or Dropbox.

But, why is it important to use a version control system? A few days ago, a friend told me how his company (which shall remain nameless) carries out version control. Each time a file is modified, it is saved with the suffix “copy-XX”, where “XX” is the number of the modification, so that they end up with hundreds of files that are the same except for small changes. The quality of life of the workers in this company would improve drastically if they were to use a version control system.

Poster giving the commands to be executed before leaving the building in the case of a fire
Poster giving the commands to be executed before leaving the building in the case of a fire. Source: Wikimedia

The most powerful version control systems, such as Git, have a large number of advantages. Some of the most significant are:

  • Access to the registry of modifications to a file. This also allows us to see the comments associated with each modification or the person who made the modification.
  • Ability to return to a previous version of a file or set of files
  • Creation of branches to manage changes that will finally be merged with the main branch.
  • Ease of labelling particular modifications. This will also lead to a DML of ITIL, and we will obtain a repository with all the product releases.

However, we can find many other uses. There are mechanisms that let us look for changes that have introduced an error in the code, which greatly reduces time in program debugging. In addition, due to its distributed form, it is very unlikely that any code will be lost.

Linus Torvalds, creator of Linux and Git
Linus Torvalds, creator of Linux and Git. Source: Wikimedia

Incidentally, it is curious that even Microsoft, which despite making more contributions to free software lately has traditionally pushed proprietary software, is using Git as the version control system for the development of its next version of Windows. For those who don’t know, Git was developed by the creator of Linux for the maintenance of the “kernel”.

In Sciling, we’ve been using the GitLab platform for some time to manage our code repositories and we can say that we are more than happy with it. So now you know: if you want to enjoy all the advantages of a version control system and you don’t want to go crazy making manual versions of the files you edit, what are you waiting for to start using one?

Leave a Reply