Environments form part of your Stack. The simplest way to think of an environment is as a link between a Salesforce organisation and a Git branch.
Some Stack Based Commands (such as env:flowin, env:flowout, and env:flowmerge ) use the environment records in your stack to know which Salesforce organisations to connect to, and which Git branch in your Remote Git Repository is the Backing Git Branch.
Every stack must contain a single Production Environment. This environment is created for you when a stack is initialised with the stack:create command. You can then use the env:create and env:delete commands to add or remove environments to or from your stack.
Environments are specific to a stack. Environment names must be unique (case in-sensitive) within a stack.
The env:list command can be used to list all of the environments in a given stack.