Skip to content

CLI reference

Every command, grouped the way ff --help groups them. Each page is the same text ff help <command> prints: purpose, usage, examples, options, and details.

Getting started

  • ff init — Create a repository or enable fufu in an existing one
  • ff clone — Copy a repository and enable fufu snapshots

Working changes

  • ff status — Show the working copy status
  • ff diff — Show uncommitted file changes as a patch
  • ff restore — Discard file edits, or restore files from a revision or snapshot
  • ff commit — Record working-copy changes without staging
  • ff describe — Set a draft message, reword a commit, or rename a branch

Inspect history

  • ff map — Show local branch relationships and parked work (also bare ff)
  • ff log — Show commit history and the open change, with change IDs
  • ff show — Show a revision and its patch; defaults to the open change
  • ff evolog — Show one change's recorded evolution; defaults to open work
  • ff history — Show available undo and redo steps for this worktree
  • ff collide — Check whether two branches' file changes conflict

Branches

  • ff switch — Switch branches or create new work at trunk
  • ff branch — List, create, delete, or prune branches
  • ff worktree — List, create, or remove worktrees and retain their captured history

Rewrite commits

  • ff absorb — Add uncommitted changes to an existing commit; defaults to HEAD
  • ff lift — Reopen a commit's changes as uncommitted work; defaults to HEAD
  • ff restack — Replay a branch's commits onto its base; defaults to this branch
  • ff fold — Replay this branch into a target and delete it; defaults to trunk
  • ff edit — Open a session to edit an existing commit's files
  • ff done — Apply an editing or resolution session and return to its branch
  • ff resolve — Put a held rewrite's conflicts into the working copy for repair

Remotes

  • ff pull — Update this branch from its base and remote copy
  • ff push — Send this branch to its remote copy with a lease
  • ff remote — List configured remote names and fetch URLs

Recovery

  • ff undo — Restore this worktree's recorded local state one undo step back
  • ff redo — Step forward again after an undo
  • ff op — Inspect recorded operations and recover local state
    • ff op log — List recorded operations, including captures, newest first
    • ff op show — Show an operation's ref transitions and file diffstat
    • ff op diff — Compare the recorded file trees of two operations
    • ff op restore — Restore this worktree's recorded local state at an operation
    • ff op revert — Invert an operation's ref transitions if those refs have not moved
    • ff op trim — Drop operations past the retention cutoff (fufu.keep, 90d)

Setup

  • ff hook — Install shell and agent integrations on this machine
  • ff unhook — Remove managed shell and agent integrations
  • ff trigger — Snapshot the working copy now
  • ff watch — Stream operation-history changes as JSON lines
  • ff config — List, read, or change fufu settings in Git configuration
  • ff doctor — Check operation history, configuration, and installed integrations
  • ff git — Run Git with snapshot and policy checks; help is ff help git
  • ff explain — Look up an error id and see what it means
  • ff version — Print build identity and cached update availability
  • ff update — Show update instructions and offer supported installation updates