The "branch" command:

Usage: fossil branch SUBCOMMAND ... ?OPTIONS?

Run various subcommands to manage branches of the open repository or of the repository identified by the -R or --repository option.

fossil branch close|reopen ?OPTIONS? BRANCH-NAME ?...BRANCH-NAMES?

Adds or cancels the "closed" tag to one or more branches. It accepts arbitrary unambiguous symbolic names but will only resolve checkin names and skips any which resolve to non-leaf checkins. Options:

-n|--dry-run
do not commit changes and dump artifact to stdout
-v|--verbose
output more information
--date-override DATE
DATE to use instead of 'now'
--user-override USER
USER to use instead of the current default

fossil branch current

Print the name of the branch for the current check-out

fossil branch hide|unhide ?OPTIONS? BRANCH-NAME ?...BRANCH-NAMES?

Adds or cancels the "hidden" tag for the specified branches or or checkin IDs. Accepts the same options as the close subcommand.

fossil branch info BRANCH-NAME

Print information about a branch

fossil branch list|ls ?OPTIONS? ?GLOB?
fossil branch lsh ?OPTIONS? ?LIMIT?

List all branches. Options:

-a|--all
List all branches. Default show only open branches
-c|--closed
List closed branches.
-p
List only private branches.
-r
Reverse the sort order
-t
Show recently changed branches first

The current branch is marked with an asterisk. Private branches are marked with a hash sign.

If GLOB is given, show only branches matching the pattern.

The "lsh" variant of this subcommand shows recently changed branches, and accepts an optional LIMIT argument (defaults to 5) to cap output, but no GLOB argument. All other options are supported, with -t being an implied no-op.

fossil branch new BRANCH-NAME BASIS ?OPTIONS?

Create a new branch BRANCH-NAME off of check-in BASIS. Supported options for this subcommand include:

--private
branch is private (i.e., remains local)
--bgcolor COLOR
use COLOR instead of automatic background ("auto" lets Fossil choose it automatically, even for private branches)
--nosign
do not sign contents on this branch
--date-override DATE
DATE to use instead of 'now'
--user-override USER
USER to use instead of the current default

DATE may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in year-month-day form, it may be truncated, the "T" may be replaced by a space, and it may also name a timezone offset from UTC as "-HH:MM" (westward) or "+HH:MM" (eastward). Either no timezone suffix or "Z" means UTC.

Options valid for all subcommands:

-R|--repository REPO
Run commands on repository REPO