Scroll to navigation

JJ-FZF(1) jj-fzf Manual Page JJ-FZF(1)

NAME

jj-fzf - Terminal interface for the jj version control system based on fzf

SYNOPSIS

jj-fzf [COMMAND] [ARGUMENTS...]

DESCRIPTION

jj-fzf is a text-based user interface for the jj version control system,

built on top of the fuzzy finder fzf. jj-fzf centers around the jj log

graph view, providing previews of jj diff or jj evolog for each revision.

Several key bindings are available for actions such as squashing, swapping,

rebasing, splitting, branching, committing, or abandoning revisions. A

separate view for the operations log, jj op log, allows fast previews of

diffs and commit histories of past operations and enabling undo of previous

actions. The available hotkeys are displayed on-screen for easy

discoverability. The commands and key bindings can also be displayed with

jj-fzf --help and are documented in the jj-fzf wiki.

JJ LOG VIEW

The jj log view in jj-fzf displays a list of revisions with commit

information on each line. Each line contains the following elements:

@
Marks the working copy
Indicates a mutable commit, a commit that has not yet been pushed
Indicates an immutable commit, that has been pushed or tagged
The (mostly unique) identifier to track this change across commits
The abbreviated username of the author
The day when the commit was authored
The unique hash for this commit and its meta data
Any tags or bookmarks associated with the revisions
A brief description of the changes made in the revisions

Note, in jj, the set of immutable commits can be configured via

the revset-aliases."immutable_heads()" config setting.

PREVIEW WINDOW

The preview window on the right displays detailed information for the

currently selected revisions. The meaning of the preview items are as follows:

The jj log -T builtin_log_oneline output for the selected commit
The jj revision identifier for this revisions
The unique identifier for the Git commit
Tags and bookmarks (similar to branch names) for this revisions
A boolean indication for immutable revisions
A list of parent revisions (more than one for merge commits)
The author of the revision, including name and email, timestamp
The committer, including name and email, timestamp
Detailed message describing the changes made in the revision
A list of files modified by this revision
A jj diff view of changes introduced by the revision

COMMAND EXECUTION

For all repository-modifying commands, jj-fzf prints the actual jj commands

executed to stderr. The output aids users in learning how to use jj directly

to achieve the desired effects. It can also be useful when debugging and helps

users determine which actions they might wish to undo. Most commands can also

be run via the command line, using: jj-fzf <command> <revision>

KEY BINDINGS

Most jj-fzf commands operate on the currently selected revision and

are made available via the following keyboard shortcuts:

jj-fzf --help-bindings

SEE ALSO

For screencasts, workflow suggestions or feature requests, visit the

jj-fzf project page at: https://github.com/tim-janik/jj-fzf

For revsets, see: https://martinvonz.github.io/jj/latest/revsets

2025-09-26T14:10:01Z jj-fzf-0.33.0