What is a generation?
Generations refer to a version number of an environment on FloxHub. Both imperative and declarative commands that modify an environment on FloxHub increment the generation number for the environment.
Read more about creating your first generation in the sharing guide.
First generation
The first environment generation (1) is created when you use
flox push
to send an environment to
FloxHub.
New generations
New generations are created automatically when you use a CLI command that
modifies the environment,
such as flox install
or flox edit
.
Staged local generations
With a centrally managed environment new local
generations are staged automatically.
Suppose you flox pull
an environment at generation 15 on
FloxHub.
If you now run flox install
three times then you will have
generations 16-18 locally.
The next flox push
would sync these three new generations to
FloxHub if you have permission to write to the environment.
Generation lock
Centrally managed environments that are pulled with
flox pull
will store a generation lock which describes
the current pulled generation.
This allows this environment to advance to newer generations explicitly on the
next flox pull
.