Version control or versioning, what ever you wanna call it it could be (most definitely will be) a headache if you don’t quite understand what is going on behind scenes, let’s see some basics using this martian technology
First things first, the version control is a system that is able to keep track of changes over time for something, for example a software development
The most important thing when it comes to versioning is keep track of your changes, but what it really means? well that means that you should be able to go back to a specific version change something and then merge that change with your current work, now in order for this to work we should take in count this really important things
Although in most control version systems you must write a description for what is changed this changelog helps you to get a better picture for the specific version that the file was created for since you can be more descriptive about the content
v1.3.2This version incorporates a new display for images and a re design for the user profile screen
The problem with the orientation change is now fixed
Users profile picture preview is now correctly loading
For this file to work you must get the structure of the version number
The first number refers to a major release (in general), the major release means some big changes such as change of design, adding a new feature, remove a previous feature, add a hole new module, etc.
The second number often means minor changes, code optimizations, a better library or component, the upgrade of a existing functionality, etc.
From here on usually makes reference for a bugfixes or known issues you could use the third and fourth number for bugfixes and known issues accordingly. Of course in the end it all depends on your company standards or your own preferences as may be the case
So far so good but… why versioning?
Well that is the billion dollar question, is it not? but to have a simple (and most superficial) answer, collaboration and quick response to a situation that requires a hot fix, also it allows to have more than only one place to work without having to copying and pasting multiple times the same project, and also it can be very handy when you are able to code regardless the local environment