KostaCLOUD Version Control 101
There are a few types of version control which exist in KostaCLOUD
Versionings are what you can think of as a local save. Say you do something in KostaCLOUD, like insert a lens, what this does is creates something called a versioning, which is a simple way of saying it saves the lens you just made to KostaCLOUD.
A Version is a natural saving point, and logical organization tool that you can use to represent a sub-design. Imagine that you are developing a system by yourself, and you come up with some amazing lens configuration without the help of your colleagues, then your colleagues look at your design, and suggest to change a few things. You might want to save a version at this point, just so that you can come back to your original design if the suggested changes made don't pan out. This can also be thought of as a natural linear evolution of a design.
Versions in the context of KostaCLOUD are actually just collections of Versionings, which make up the project to a particular design.
A Fork is just like a Version, and in fact the only reason to use a Fork in the context of KostaCLOUD would be to differentiate a major design aspect such as a different design intent, which may stem from the same base system. For example, imagine that you are starting with the same cooke triplet, but then you have two different independent design variants which are both being manufactured, these would be considered "Forks". Each Fork can have multiple versions after the Fork. Forks can even have forks!
Forks in the context of KostaCLOUD are also just collections of Versionings, which make up the project up to a particular design.