I should clarify on what I define as a version.
When you build your application into a deployable artefact, such as a jar in the case of a
Java application, that is a versionable artefact.
For example
I build my code and call the resulting jar Version 1.0
I make a bunch of changes to my code
I build my code and call the resulting jar Version 2.0
Does that answer your question?