The "publish" command:

Usage: fossil publish ?--only? TAGS...

Cause artifacts identified by TAGS... to be published (made non-private).
This can be used (for example) to convert a private branch into a public
branch, or to publish a bundle that was imported privately.

If any of TAGS names a branch, then all check-ins on the most recent
instance of that branch are included, not just the most recent check-in.

If any of TAGS name check-ins then all files and tags associated with
those check-ins are also published automatically.  Except if the --only
option is used, then only the specific artifacts identified by TAGS
are published.

If a TAG is already public, this command is a harmless no-op.