jk manual
Command reference
Find an implemented command, its operands and options, and the workflow that demonstrates it.
This reference describes jk 0.3.0 with jj 0.45.1.
Native means jk provides the interaction. Command mode means
an explicit command can run through :. Outside jk identifies forms
that need a normal terminal or are not available as a jk interaction.
109 forms
Choose the repository
Nativejj --repository PATH ...
Open a repository without changing shell directories.
- In jk
jk -R PATH- Options
-R--repository- Result
- All native views use the selected repository.
- The repository flag is a top-level jk option; supply it before a subcommand.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Quit jk and restart with different startup arguments; a startup argument is not an in-app draft.
- Failure
- Argument or initial-load failures may occur before the UI or Command History exists; read stderr in the launching terminal.
- Recover
- Correct the startup argument, path or repository configuration and restart jk.
Open a local repository container
Nativejj root; jj workspace list
Find a child workspace when the repository root has no working copy.
- In jk
jk from a no-working-copy container- Result
- The resolver intends to select the default child, otherwise the lexicographically first child. With tested jj 0.45.1, its exact diagnostic check misses No working copy. (with a period), so automatic selection fails and startup lacks the intended working-copy context.
- Known defect UX-18: automatic child selection fails with the No working copy. diagnostic emitted by tested jj 0.45.1. Use an explicit repository path.
- A sibling workspace outside the container is not selected automatically.
Starting state, verification, and recovery
- Before
- A local jj outer container with no working-copy commit and at least one registered child workspace under its repository root.
- Verify
- Observe the no-working-copy result from bare jk, then quit and run jk -R default; status must show the child working copy and workspace inspection must list it.
- Cancel
- Quit jk and restart with different startup arguments; a startup argument is not an in-app draft.
- Failure
- Argument or initial-load failures may occur before the UI or Command History exists; read stderr in the launching terminal.
- Recover
- From the container, run jk -R default or change into the intended child workspace before launching.
Choose dialog appearance
Nativejk --dialog-theme auto|dark|light
Keep dialogs readable against the terminal.
- In jk
jk --dialog-theme dark- Options
autodarklight- Result
- Changes jk dialog surfaces; jj controls its own repository output colors.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Quit jk and restart with different startup arguments; a startup argument is not an in-app draft.
- Failure
- Argument or initial-load failures may occur before the UI or Command History exists; read stderr in the launching terminal.
- Recover
- Correct the startup argument, path or repository configuration and restart jk.
Open the configured view
Nativejj
See the repository using its jj default command and template.
- In jk
jk- Result
- Renders jj output and uses a separate semantic pass for stable navigation.
- Affects
- working-copy snapshot
- The configured default must be log-like and accept the semantic template query.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Match the rendered descriptions and working-copy marker against jj log; loading may snapshot changed files.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Open the explicit log
Nativejj log
Open log even when the configured home command differs.
- In jk
jk logL- Result
- Shows the explicit log; H returns to the configured home view.
- Affects
- working-copy snapshot
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Limit visible history
Nativejj [log] -n LIMIT
Keep the initial graph bounded.
- In jk
jk -n LIMITjk log -n LIMIT- Options
-n--limit- Result
- Subcommand limit takes precedence over top-level limit.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Quit jk and restart with different startup arguments; a startup argument is not an in-app draft.
- Failure
- Argument or initial-load failures may occur before the UI or Command History exists; read stderr in the launching terminal.
- Recover
- Correct the startup argument, path or repository configuration and restart jk.
Use the configured log template
Nativejj log
Choose the amount of detail visible per change.
- In jk
V → Template → configured- Result
- Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Use the comfortable log template
Nativejj log -T builtin_log_comfortable
Choose the amount of detail visible per change.
- In jk
V → Template → comfortable- Options
-T--template- Result
- Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Use the compact log template
Nativejj log -T builtin_log_compact
Choose the amount of detail visible per change.
- In jk
V → Template → compact- Options
-T--template- Result
- Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Use the full-description log template
Nativejj log -T builtin_log_compact_full_description
Choose the amount of detail visible per change.
- In jk
V → Template → full description- Options
-T--template- Result
- Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Use the detailed log template
Nativejj log -T builtin_log_detailed
Choose the amount of detail visible per change.
- In jk
V → Template → detailed- Options
-T--template- Result
- Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Use the oneline log template
Nativejj log -T builtin_log_oneline
Choose the amount of detail visible per change.
- In jk
V → Template → oneline- Options
-T--template- Result
- Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Use the redacted log template
Nativejj log -T builtin_log_redacted
Choose the amount of detail visible per change.
- In jk
V → Template → redacted- Options
-T--template- Result
- Only rendered text changes; semantic revision navigation remains stable.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Use the custom log template
Nativejj log -T TEMPLATE
Choose the amount of detail visible per change.
- In jk
jk log -T TEMPLATE- Options
-T--template- Result
- Only rendered text changes; semantic revision navigation remains stable.
- Custom is selectable only after starting jk log -T TEMPLATE.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Quit jk and restart with different startup arguments; a startup argument is not an in-app draft.
- Failure
- Argument or initial-load failures may occur before the UI or Command History exists; read stderr in the launching terminal.
- Recover
- Correct the startup argument, path or repository configuration and restart jk.
Open hidden graph history
Nativejj log -r ELISION_REVSET
Reveal revisions hidden by the current graph.
- In jk
Enter or Right on a ~ row- Result
- Pushes a drill-down graph; Left or Backspace returns to the previous graph.
- This is an elision action, not an arbitrary revset input.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Inspect a revision (patch)
Nativejj diff -r REV
Review a change against its parent.
- In jk
d from logV → patch- Options
-r--revisionpositional REV alias- Result
- Displays jj patch output with navigation appropriate to the rendered format.
- No native diff fileset operand.
- Known defect UX-17: hunk controls do not work with ordinary jj output. File navigation depends on the configured diff format; Git-format output is not parsed into files.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Inspect a revision (summary)
Nativejj diff -r REV --summary
Review a change against its parent.
- In jk
d from logV → summary- Options
-r--revisionpositional REV alias--summary- Result
- Displays jj summary output with navigation appropriate to the rendered format.
- No native diff fileset operand.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Inspect a revision (stat)
Nativejj diff -r REV --stat
Review a change against its parent.
- In jk
d from logV → stat- Options
-r--revisionpositional REV alias--stat- Result
- Displays jj stat output with navigation appropriate to the rendered format.
- No native diff fileset operand.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Inspect a revision (types)
Nativejj diff -r REV --types
Review a change against its parent.
- In jk
d from logV → types- Options
-r--revisionpositional REV alias--types- Result
- Displays jj types output with navigation appropriate to the rendered format.
- No native diff fileset operand.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Inspect a revision (name-only)
Nativejj diff -r REV --name-only
Review a change against its parent.
- In jk
d from logV → name-only- Options
-r--revisionpositional REV alias--name-only- Result
- Displays jj name-only output with navigation appropriate to the rendered format.
- No native diff fileset operand.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Inspect a revision (git)
Nativejj diff -r REV --git
Review a change against its parent.
- In jk
d from logV → git- Options
-r--revisionpositional REV alias--git- Result
- Displays jj git output with navigation appropriate to the rendered format.
- No native diff fileset operand.
- Known defect UX-17: hunk movement and folding are ineffective for this output format. Git-format output also lacks parsed file navigation and file folding.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Inspect a revision (color-words)
Nativejj diff -r REV --color-words
Review a change against its parent.
- In jk
d from logV → color-words- Options
-r--revisionpositional REV alias--color-words- Result
- Displays jj color-words output with navigation appropriate to the rendered format.
- No native diff fileset operand.
- Known defect UX-17: hunk movement and folding are ineffective for this output format. File navigation and file folding work for recognized regular-file sections.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Compare two revisions (patch)
Nativejj diff --from FROM --to TO
Review the tree difference between two explicit revisions.
- In jk
jk diff --from FROM --to TOV → patch- Options
--from--to- Result
- Displays jj patch output with navigation appropriate to the rendered format.
- No native diff fileset operand.
- FROM and TO must be supplied together; revision form cannot be combined with them.
- Known defect UX-17: hunk controls do not work with ordinary jj output. File navigation depends on the configured diff format; Git-format output is not parsed into files.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Read the workflow → · Recording · UX-04 · UX-16 · UX-17
Compare two revisions (summary)
Nativejj diff --from FROM --to TO --summary
Review the tree difference between two explicit revisions.
- In jk
jk diff --from FROM --to TOV → summary- Options
--from--to--summary- Result
- Displays jj summary output with navigation appropriate to the rendered format.
- No native diff fileset operand.
- FROM and TO must be supplied together; revision form cannot be combined with them.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Compare two revisions (stat)
Nativejj diff --from FROM --to TO --stat
Review the tree difference between two explicit revisions.
- In jk
jk diff --from FROM --to TOV → stat- Options
--from--to--stat- Result
- Displays jj stat output with navigation appropriate to the rendered format.
- No native diff fileset operand.
- FROM and TO must be supplied together; revision form cannot be combined with them.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Compare two revisions (types)
Nativejj diff --from FROM --to TO --types
Review the tree difference between two explicit revisions.
- In jk
jk diff --from FROM --to TOV → types- Options
--from--to--types- Result
- Displays jj types output with navigation appropriate to the rendered format.
- No native diff fileset operand.
- FROM and TO must be supplied together; revision form cannot be combined with them.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Compare two revisions (name-only)
Nativejj diff --from FROM --to TO --name-only
Review the tree difference between two explicit revisions.
- In jk
jk diff --from FROM --to TOV → name-only- Options
--from--to--name-only- Result
- Displays jj name-only output with navigation appropriate to the rendered format.
- No native diff fileset operand.
- FROM and TO must be supplied together; revision form cannot be combined with them.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Compare two revisions (git)
Nativejj diff --from FROM --to TO --git
Review the tree difference between two explicit revisions.
- In jk
jk diff --from FROM --to TOV → git- Options
--from--to--git- Result
- Displays jj git output with navigation appropriate to the rendered format.
- No native diff fileset operand.
- FROM and TO must be supplied together; revision form cannot be combined with them.
- Known defect UX-17: hunk movement and folding are ineffective for this output format. Git-format output also lacks parsed file navigation and file folding.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Read the workflow → · Recording · UX-04 · UX-16 · UX-17
Compare two revisions (color-words)
Nativejj diff --from FROM --to TO --color-words
Review the tree difference between two explicit revisions.
- In jk
jk diff --from FROM --to TOV → color-words- Options
--from--to--color-words- Result
- Displays jj color-words output with navigation appropriate to the rendered format.
- No native diff fileset operand.
- FROM and TO must be supplied together; revision form cannot be combined with them.
- Known defect UX-17: hunk movement and folding are ineffective for this output format. File navigation and file folding work for recognized regular-file sections.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Read the workflow → · Recording · UX-04 · UX-16 · UX-17
Inspect one change
Nativejj show REV
Read a change description and patch together.
- In jk
Enter on a log or bookmark rowjk show REV- Result
- Shows the selected revision; marks do not replace the selected row.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Inspect several revisions
Nativejj show REV...
Read several explicit revisions in one view.
- In jk
jk show REV REV...- Result
- Passes revisions in argument order to jj.
- The startup form requires at least one revision.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Inspect working-copy status
Nativejj status
Find changed files and current working-copy metadata.
- In jk
sjk status- Result
- Displays jj status for the active repository.
- Affects
- working-copy snapshot
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Limit status to filesets
Nativejj status FILESET...
Check a subset of working-copy paths.
- In jk
jk status FILESET...- Result
- Passes each fileset directly to jj.
- Affects
- working-copy snapshot
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Inspect change evolution
Nativejj evolog -r REV
Understand earlier versions of the selected change.
- In jk
v on a log row- Result
- Shows the evolution log for the selected revision.
- No native evolog display or patch options.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Start a child change
Nativejj new PARENT
Begin work on a new change above the selected revision.
- In jk
a n on a log row- Result
- Creates a new working-copy change and selects it.
- Affects
- new change, working-copy files
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Runs immediately when a n is chosen; Escape can close the action menu before choosing it.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C, then a u to undo the latest operation if that is still the new operation.
Create a merge change
Nativejj new PARENT...
Start a change with multiple parents.
- In jk
Space to mark parents in order, then a n- Result
- Creates a new working-copy change using ordered marks instead of the cursor.
- Affects
- new merge change, working-copy files
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Runs immediately when a n is chosen; clear marks with c or leave the action menu before choosing it.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Resume an existing change
Nativejj edit REV
Make an existing change the working copy.
- In jk
a e on a log row- Result
- Switches the working-copy revision and updates its files.
- Affects
- working-copy change, working-copy files
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Runs immediately when a e is chosen; Escape closes the action menu before selection.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Write a description
Nativejj describe -m MESSAGE REV
Explain the selected change.
- In jk
a m; Ctrl-j inserts a newline; Enter saves- Options
-m MESSAGE- Result
- Rewrites the selected revision description using the inline editor.
- Affects
- selected revision, descendants
- Foreground editor handoff and author/reset-author options have no native form.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Escape discards the inline draft.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Abandon an empty change
Nativejj abandon REV
Remove an empty revision without a confirmation.
- In jk
a a on a log row- Result
- Abandons the selected revision and lets jj rebase descendants.
- Affects
- selected revision, descendants, possibly working-copy files
- One revision at a time in the native form.
Starting state, verification, and recovery
- Before
- A selected mutable revision whose tree matches its parent tree; the emptiness probe succeeds.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Runs immediately after a successful empty probe.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the resulting operation and use a u while it remains the latest operation.
Review and abandon a change
Nativejj abandon REV
Inspect the content being abandoned before removing it.
- In jk
a a on a log row- Result
- Abandons the selected revision and lets jj rebase descendants.
- Affects
- selected revision, descendants, possibly working-copy files
- One revision at a time in the native form.
Starting state, verification, and recovery
- Before
- A selected mutable revision with file changes that must be reviewed before abandonment.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Cancel is initially selected; n or Escape cancels. In embedded diff, Escape returns to the summary.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the resulting operation and use a u while it remains the latest operation.
Review an uncertain abandon
Nativejj abandon REV
Require review when the emptiness probe fails.
- In jk
a a on a log row- Result
- Abandons the selected revision and lets jj rebase descendants.
- Affects
- selected revision, descendants, possibly working-copy files
- One revision at a time in the native form.
Starting state, verification, and recovery
- Before
- A selected revision for which the emptiness probe returns an error; the fixture injects this failure.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Cancel is initially selected; n or Escape cancels. In embedded diff, Escape returns to the summary.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the resulting operation and use a u while it remains the latest operation.
Move one change onto a new parent
Nativejj rebase -r SOURCE -o DESTINATION
Change the parent of one change.
- In jk
R; source r; placement o; choose destination; Enter preview; Enter run- Options
-r-o- Result
- Only SOURCE is selected for movement. Its former children are reconnected to its old parents. The roots of the moved set become children of DESTINATION. Existing destination children outside the moved set are not inserted behind it. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
- Affects
- selected source scope, rewritten source commits, source descendants
- At most one marked source is accepted; otherwise use the cursor.
- Only one destination is accepted.
- Destination search filters loaded visible rows.
Starting state, verification, and recovery
- Before
- A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
- Verify
- Check the moved revisions’ parent edges and the former source location. Confirm unrelated destination children kept their parents. Inspect diffs for conflicts, then open C and the resulting operation.
- Cancel
- Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Read the workflow → · Recording · UX-04 · UX-06 · UX-07
Insert one change after a destination
Nativejj rebase -r SOURCE -A DESTINATION
Make one change come after an existing destination in the graph.
- In jk
R; source r; placement A; choose destination; Enter preview; Enter run- Options
-r-A- Result
- Only SOURCE is selected for movement. Its former children are reconnected to its old parents. The roots of the moved set become children of DESTINATION. Existing destination descendants are rebased onto the moved set, placing the moved work between DESTINATION and that later work. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
- Affects
- selected source scope, rewritten source commits, source descendants, destination descendants, possibly other workspaces’ working-copy revisions
- At most one marked source is accepted; otherwise use the cursor.
- Only one destination is accepted.
- Destination search filters loaded visible rows.
Starting state, verification, and recovery
- Before
- A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
- Verify
- Check the moved revisions’ parent edges and the former source location. Check the destination and its existing descendants after insertion, including changes checked out by other workspaces. Inspect diffs for conflicts, then open C and the resulting operation.
- Cancel
- Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Read the workflow → · Recording · UX-04 · UX-06 · UX-07
Insert one change before a destination
Nativejj rebase -r SOURCE -B DESTINATION
Make one change come before an existing destination in the graph.
- In jk
R; source r; placement B; choose destination; Enter preview; Enter run- Options
-r-B- Result
- Only SOURCE is selected for movement. Its former children are reconnected to its old parents. The roots of the moved set take DESTINATION’s previous parents. DESTINATION and its descendants are then rebased onto the moved set, placing the moved work immediately before the destination. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
- Affects
- selected source scope, rewritten source commits, source descendants, destination revision, destination descendants, possibly other workspaces’ working-copy revisions
- At most one marked source is accepted; otherwise use the cursor.
- Only one destination is accepted.
- Destination search filters loaded visible rows.
Starting state, verification, and recovery
- Before
- A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
- Verify
- Check the moved revisions’ parent edges and the former source location. Check the destination and its existing descendants after insertion, including changes checked out by other workspaces. Inspect diffs for conflicts, then open C and the resulting operation.
- Cancel
- Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Read the workflow → · Recording · UX-04 · UX-06 · UX-07
Move a change and its descendants onto a new parent
Nativejj rebase -s SOURCE -o DESTINATION
Change the parent of a change and its descendants.
- In jk
R; source s; placement o; choose destination; Enter preview; Enter run- Options
-s-o- Result
- SOURCE and all its descendants move together; the moved descendants retain their relationships within that set. The roots of the moved set become children of DESTINATION. Existing destination children outside the moved set are not inserted behind it. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
- Affects
- selected source scope, rewritten source commits, source descendants
- At most one marked source is accepted; otherwise use the cursor.
- Only one destination is accepted.
- Destination search filters loaded visible rows.
Starting state, verification, and recovery
- Before
- A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
- Verify
- Check the moved revisions’ parent edges and the former source location. Confirm unrelated destination children kept their parents. Inspect diffs for conflicts, then open C and the resulting operation.
- Cancel
- Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Read the workflow → · Recording · UX-04 · UX-06 · UX-07
Insert a change and its descendants after a destination
Nativejj rebase -s SOURCE -A DESTINATION
Make a change and its descendants come after an existing destination in the graph.
- In jk
R; source s; placement A; choose destination; Enter preview; Enter run- Options
-s-A- Result
- SOURCE and all its descendants move together; the moved descendants retain their relationships within that set. The roots of the moved set become children of DESTINATION. Existing destination descendants are rebased onto the moved set, placing the moved work between DESTINATION and that later work. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
- Affects
- selected source scope, rewritten source commits, source descendants, destination descendants, possibly other workspaces’ working-copy revisions
- At most one marked source is accepted; otherwise use the cursor.
- Only one destination is accepted.
- Destination search filters loaded visible rows.
Starting state, verification, and recovery
- Before
- A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
- Verify
- Check the moved revisions’ parent edges and the former source location. Check the destination and its existing descendants after insertion, including changes checked out by other workspaces. Inspect diffs for conflicts, then open C and the resulting operation.
- Cancel
- Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Read the workflow → · Recording · UX-04 · UX-06 · UX-07
Insert a change and its descendants before a destination
Nativejj rebase -s SOURCE -B DESTINATION
Make a change and its descendants come before an existing destination in the graph.
- In jk
R; source s; placement B; choose destination; Enter preview; Enter run- Options
-s-B- Result
- SOURCE and all its descendants move together; the moved descendants retain their relationships within that set. The roots of the moved set take DESTINATION’s previous parents. DESTINATION becomes a child of the tips of the moved set, and its descendants keep their relationships to the rewritten destination. For a linear SOURCE-to-CHILD stack, the resulting order is the old destination parent, SOURCE, CHILD, then DESTINATION. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
- Affects
- selected source scope, rewritten source commits, source descendants, destination revision, destination descendants, possibly other workspaces’ working-copy revisions
- At most one marked source is accepted; otherwise use the cursor.
- Only one destination is accepted.
- Destination search filters loaded visible rows.
Starting state, verification, and recovery
- Before
- A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
- Verify
- Check that the moved roots have the destination’s old parents and that the destination has the moved tips as parents. When SOURCE has moved descendants, the destination follows those descendants, not SOURCE directly. Check preserved internal edges and any revisions checked out by other workspaces; inspect diffs for conflicts, then open C and the resulting operation.
- Cancel
- Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Read the workflow → · Recording · UX-04 · UX-06 · UX-07
Move a branch onto a new parent
Nativejj rebase -b SOURCE -o DESTINATION
Change the parent of a branch.
- In jk
R; source b; placement o; choose destination; Enter preview; Enter run- Options
-b-o- Result
- The moved set includes SOURCE, its ancestors that are not ancestors of DESTINATION, and every descendant of those revisions. The roots of the moved set become children of DESTINATION. Existing destination children outside the moved set are not inserted behind it. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
- Affects
- selected source scope, rewritten source commits, source descendants
- At most one marked source is accepted; otherwise use the cursor.
- Only one destination is accepted.
- Destination search filters loaded visible rows.
Starting state, verification, and recovery
- Before
- A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
- Verify
- Check the moved revisions’ parent edges and the former source location. Confirm unrelated destination children kept their parents. Inspect diffs for conflicts, then open C and the resulting operation.
- Cancel
- Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Read the workflow → · Recording · UX-04 · UX-06 · UX-07
Insert a branch after a destination
Nativejj rebase -b SOURCE -A DESTINATION
Make a branch come after an existing destination in the graph.
- In jk
R; source b; placement A; choose destination; Enter preview; Enter run- Options
-b-A- Result
- The moved set includes SOURCE, its ancestors that are not ancestors of DESTINATION, and every descendant of those revisions. The roots of the moved set become children of DESTINATION. Existing destination descendants are rebased onto the moved set, placing the moved work between DESTINATION and that later work. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
- Affects
- selected source scope, rewritten source commits, source descendants, destination descendants, possibly other workspaces’ working-copy revisions
- At most one marked source is accepted; otherwise use the cursor.
- Only one destination is accepted.
- Destination search filters loaded visible rows.
Starting state, verification, and recovery
- Before
- A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
- Verify
- Check the moved revisions’ parent edges and the former source location. Check the destination and its existing descendants after insertion, including changes checked out by other workspaces. Inspect diffs for conflicts, then open C and the resulting operation.
- Cancel
- Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Read the workflow → · Recording · UX-04 · UX-06 · UX-07
Insert a branch before a destination
Nativejj rebase -b SOURCE -B DESTINATION
Make a branch come before an existing destination in the graph.
- In jk
R; source b; placement B; choose destination; Enter preview; Enter run- Options
-b-B- Result
- The moved set includes SOURCE, its ancestors that are not ancestors of DESTINATION, and every descendant of those revisions. The roots of the moved set take DESTINATION’s previous parents. DESTINATION becomes a child of the tips of the moved set, and its descendants keep their relationships to the rewritten destination. For a linear SOURCE-to-CHILD stack, the resulting order is the old destination parent, SOURCE, CHILD, then DESTINATION. jj preserves each revision’s changes while rewriting commits; content conflicts can remain after success.
- Affects
- selected source scope, rewritten source commits, source descendants, destination revision, destination descendants, possibly other workspaces’ working-copy revisions
- At most one marked source is accepted; otherwise use the cursor.
- Only one destination is accepted.
- Destination search filters loaded visible rows.
Starting state, verification, and recovery
- Before
- A mutable source revision (cursor or one mark) and a distinct destination revision in the currently loaded log.
- Verify
- Check that the moved roots have the destination’s old parents and that the destination has the moved tips as parents. When SOURCE has moved descendants, the destination follows those descendants, not SOURCE directly. Check preserved internal edges and any revisions checked out by other workspaces; inspect diffs for conflicts, then open C and the resulting operation.
- Cancel
- Escape first leaves an active search; Escape again closes the selector. Escape from the command preview cancels the rebase and returns to the log.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Read the workflow → · Recording · UX-04 · UX-06 · UX-07
Combine a source change
Nativejj squash --from SOURCE --into DESTINATION --use-destination-message
Move all content from the marked source changes into the cursor destination.
- In jk
Mark a source with Space; move to a distinct destination; a s- Options
--from (repeatable)--into--use-destination-message- Result
- Keeps the destination description; jj may abandon emptied sources.
- Affects
- source revisions, destination revision, descendants
- Whole changes only; marks are required.
- The destination cannot also be a source.
Starting state, verification, and recovery
- Before
- One or more mutable source revisions marked in order and a distinct cursor destination that is not marked.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Escape closes the pending dialog without running it.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Read the workflow → · Recording · UX-03 · UX-04 · UX-06
Combine several source changes
Nativejj squash --from SOURCE --from SOURCE... --into DESTINATION --use-destination-message
Move all content from the marked source changes into the cursor destination.
- In jk
Mark sources with Space; move to a distinct destination; a s- Options
--from (repeatable)--into--use-destination-message- Result
- Keeps the destination description; jj may abandon emptied sources.
- Affects
- source revisions, destination revision, descendants
- Whole changes only; marks are required.
- The destination cannot also be a source.
Starting state, verification, and recovery
- Before
- One or more mutable source revisions marked in order and a distinct cursor destination that is not marked.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Escape closes the pending dialog without running it.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Read the workflow → · Recording · UX-03 · UX-04 · UX-06
Restore all paths into the working copy
Nativejj restore --from SOURCE --into @
Replace the working-copy tree with all paths from the selected source.
- In jk
Clear marks; select source; a r- Options
--from--into @- Result
- Uses an exact source commit and the latest working-copy destination.
- Affects
- working-copy tree
- All paths only.
- Any revision marks are rejected.
- Historical operation execution is unavailable for restore.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Escape closes the pending dialog without running it.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the operation log before choosing undo; undo affects the latest repository operation.
Read the workflow → · Recording · UX-03 · UX-06 · UX-04
Inspect bookmarks
Nativejj bookmark list --all-remotes
Inspect named revisions and their local and remote state.
- In jk
B- Result
- Shows exact names and targets.
- Native list uses its own structured template.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Refresh the list after correcting repository configuration.
Create a bookmark
Nativejj bookmark create --revision REV -- NAME
Inspect named revisions and create a bookmark.
- In jk
B, then c- Result
- Refreshes bookmarks and retains the command result in history.
- Affects
- local bookmark reference
- Remote or conflicted rows cannot use local mutation actions.
- These mutations are rejected in : command mode.
- The revision field defaults to @, not the previous log selection.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Escape closes the pending dialog without running it.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and op log; a u can undo the latest local bookmark operation.
Move a bookmark
Nativejj bookmark move --to REV -- exact:NAME
Inspect named revisions and move a bookmark.
- In jk
B, select local bookmark, m- Result
- Refreshes bookmarks and retains the command result in history.
- Affects
- local bookmark reference
- Remote or conflicted rows cannot use local mutation actions.
- These mutations are rejected in : command mode.
- The revision field defaults to @; --allow-backwards has no native control.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Escape closes the pending dialog without running it.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and op log; a u can undo the latest local bookmark operation.
Delete a local bookmark
Nativejj bookmark delete -- exact:NAME
Inspect named revisions and delete a local bookmark.
- In jk
B, select local bookmark, x- Result
- Refreshes bookmarks and retains the command result in history.
- Affects
- local bookmark reference
- Remote or conflicted rows cannot use local mutation actions.
- These mutations are rejected in : command mode.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Escape closes the pending dialog without running it.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and op log; a u can undo the latest local bookmark operation.
Choose a remote
Nativejj git remote list
Bind a network command to an explicit remote.
- In jk
F or P when a remote must be chosen- Result
- Lists configured remotes before the command preview.
- No native add/remove/rename/set-url form.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Fetch an explicit remote
Nativejj git fetch --remote exact:REMOTE
Bring remote commits and references into the local repository.
- In jk
B then F- Options
--remote- Result
- Runs fetch after confirmation, then refreshes bookmark state.
- Affects
- local commit store, remote bookmark references, tracking references
- Rejected in : command mode.
Starting state, verification, and recovery
- Before
- A jj Git repository with at least one configured remote; an empty bookmark list is allowed.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect the resulting operation before undoing local reference changes; downloaded objects may remain.
Preview publishing one bookmark
Nativejj git push --remote REMOTE --bookmark exact:NAME --dry-run
See what jj would publish for one bookmark and remote.
- In jk
B, select bookmark, P- Options
--dry-run--bookmark--remote- Result
- Contacts the remote if needed but publishes no changes.
- Affects
- remote connection
- This never performs a real push.
- Rejected in : command mode, including --dry-run.
Starting state, verification, and recovery
- Before
- A normal local bookmark with one unconflicted target and at least one configured Git remote.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Read the dry-run result. Leave jk and run an explicit jj git push when ready to publish.
List workspaces
Nativejj workspace list
Inspect the selected workspace without changing the app origin repository.
- In jk
W or jk workspaces- Result
- Shows registered workspace names, paths and working-copy state. W opens this list from another view; jk workspaces starts here.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the workspace list; correct the path or stale state before retrying.
Inspect another workspace status
Nativejj -R ROOT status
Inspect the selected workspace without changing the app origin repository.
- In jk
W, select workspace, Enter or s- Result
- Shows workspace-specific output; Backspace returns to the workspace list.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the workspace list; correct the path or stale state before retrying.
Inspect another workspace history
Nativejj -R ROOT log
Inspect the selected workspace without changing the app origin repository.
- In jk
W, select workspace, l- Result
- Shows workspace-specific output; Backspace returns to the workspace list.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the workspace list; correct the path or stale state before retrying.
Inspect another workspace diff
Nativejj -R ROOT diff
Inspect the selected workspace without changing the app origin repository.
- In jk
W, select workspace, d- Result
- Shows workspace-specific output; Backspace returns to the workspace list.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the workspace list; correct the path or stale state before retrying.
Add a workspace
Nativejj workspace add PATH --name BASENAME
Create another directory attached to the same jj repository.
- In jk
W, a a- Options
PATH; name is derived from destination basename- Result
- Creates a directory and registration.
- Affects
- workspace metadata, workspace files
- Add accepts a path and derives the workspace name from its basename; independent name, revision, message and sparse-pattern options require command mode.
Starting state, verification, and recovery
- Before
- A selected workspace row with a known root and an unused destination path.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Escape closes the pending dialog without running it.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the created directory. Forget metadata only after checking that the directory has no needed work.
Rename workspace metadata
Nativejj -R ROOT workspace rename NAME
Change a workspace name without moving its directory.
- In jk
W, select workspace, a r- Result
- Updates the selected workspace name.
- Affects
- workspace metadata
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Escape closes the pending dialog without running it.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Rename again to the previous name.
Forget workspace metadata
Nativejj workspace forget NAME
Remove workspace registration without deleting its files.
- In jk
W, select workspace, a f- Result
- Removes registration; the directory remains.
- Affects
- workspace metadata
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Escape closes the pending dialog without running it.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Preserve the existing directory and inspect the forget operation in the operation log before undoing it. Workspace add requires a new destination; it does not register an existing directory in place.
Update a stale workspace
Nativejj -R ROOT workspace update-stale
Bring a workspace working copy up to date after shared history changed.
- In jk
W, select workspace, u or a u- Result
- Updates the selected workspace files and stale metadata.
- Affects
- workspace metadata, workspace files
Starting state, verification, and recovery
- Before
- A registered workspace whose working copy is stale relative to shared repository history.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Escape closes the pending dialog without running it.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and repository operations before undoing; check files in the selected workspace.
Inspect repository operations
Nativejj op log
Understand repository-wide changes independently of commit history.
- In jk
o- Result
- Renders jj operation output for the selected operation.
- Operation display flags and from/to comparisons require command mode.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the previous view; Escape closes an open overlay.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Inspect one operation
Nativejj op show OPERATION
Understand repository-wide changes independently of commit history.
- In jk
o, select operation, Enter- Result
- Renders jj operation output for the selected operation.
- Operation display flags and from/to comparisons require command mode.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Compare an operation with its parent
Nativejj op diff --operation OPERATION
Understand repository-wide changes independently of commit history.
- In jk
o, select operation, d- Result
- Renders jj operation output for the selected operation.
- Operation display flags and from/to comparisons require command mode.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace returns to the preceding view. Escape quits jk from this content view; use Escape only to dismiss an open overlay when one is active.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Undo the latest operation
Nativejj undo
Recover the repository state before the latest operation.
- In jk
a u- Result
- Runs jj undo and refreshes the log.
- Affects
- repository operation state, possibly working-copy files
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Runs immediately when the action is chosen; Escape closes the menu before selection.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect op log and use the opposite recovery action only after checking the current operation state.
Redo the latest operation
Nativejj redo
Recover the operation most recently undone.
- In jk
a U- Result
- Runs jj redo and refreshes the log.
- Affects
- repository operation state, possibly working-copy files
Starting state, verification, and recovery
- Before
- A repository whose current operation has an undone operation that jj can redo.
- Verify
- Inspect the refreshed log and Command History (C); compare the resulting operation with the preview.
- Cancel
- Runs immediately when the action is chosen; Escape closes the menu before selection.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect op log and use the opposite recovery action only after checking the current operation state.
Inspect executed commands
Nativejk session command history
Connect a command, its output and resulting repository operation.
- In jk
C; Enter details; o operation; y copy- Result
- Shows commands and diagnostics for the current jk session; an exact operation link opens when available.
- Session history is not a persistent audit log.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Backspace leaves command details for history; Backspace again returns to the preceding view. Escape in command details quits jk.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Return to the previous view, correct the operand or configuration, and refresh.
Read the workflow → · Recording · UX-08 · UX-15 · UX-16
Ignore working-copy files
Nativejj --ignore-working-copy COMMAND
Control execution of the pending command without changing future defaults.
- In jk
o in rebase/squash/restore preview → Working copy- Options
Working copy- Result
- a applies the draft to the preview; a fresh Enter confirmation executes it.
- Affects
- pending command options
- Only rebase, squash and restore previews expose Run options.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape discards the drawer draft; cancel the preview to discard applied options.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Open C to inspect exact executed options; historical execution may create concurrent operation history.
Run at a historical operation
Nativejj --at-operation OPERATION COMMAND
Control execution of the pending command without changing future defaults.
- In jk
o in a rebase or squash preview → Operation- Options
Operation- Result
- a applies the draft to the preview; a fresh Enter confirmation executes it.
- Affects
- pending command options
- Only rebase, squash and restore previews expose Run options.
- Restore does not allow a historical operation.
- Operation IDs require at least 12 hexadecimal characters.
- Historical operation loading implies ignoring working-copy files; the serializer omits a redundant --ignore-working-copy flag.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape discards the drawer draft; cancel the preview to discard applied options.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Open C to inspect exact executed options; historical execution may create concurrent operation history.
Allow immutable rewrites
Nativejj --ignore-immutable COMMAND
Control execution of the pending command without changing future defaults.
- In jk
o in rebase/squash/restore preview → Immutable commits- Options
Immutable commits- Result
- a applies the draft to the preview; a fresh Enter confirmation executes it.
- Affects
- pending command options
- Only rebase, squash and restore previews expose Run options.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape discards the drawer draft; cancel the preview to discard applied options.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Open C to inspect exact executed options; historical execution may create concurrent operation history.
Run a captured jj command
Nativejj ARGS...
Use a noninteractive jj form without leaving the app.
- In jk
: then arguments; Enter run- Result
- Captures stdout, stderr and exit status with stdin closed; e reopens the command for correction.
- No shell expansion or foreground editor/tool handoff.
- Bookmark create/move/delete and Git fetch/push are rejected.
- Aliases and advanced forms depend on the installed jj version.
- Use Backspace to leave captured output. Escape quits jk from that view.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels the input prompt before execution. Backspace returns from captured output; Escape in captured output quits jk.
- Failure
- Parse errors stay in the prompt. Command failures open captured output; e edits and retries.
- Recover
- Inspect the output and C before returning to log and refreshing after a mutation.
Read the workflow → · Recording · UX-01 · UX-09 · UX-12 · UX-13 · UX-15 · UX-16
Run a captured executable
NativeEXECUTABLE ARGS...
Inspect output from a noninteractive program.
- In jk
! then executable and arguments- Result
- Runs an argv vector in the origin repository directory, capturing output with stdin closed.
- No implicit shell expansion; sh -c must be explicit for shell syntax.
- No foreground terminal handoff.
- Use Backspace to leave captured output. Escape quits jk from that view.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels the input prompt before execution. Backspace returns from captured output; Escape in captured output quits jk.
- Failure
- Spawn errors and nonzero exits appear in captured output; e reopens the input.
- Recover
- Inspect program output before retrying; jk cannot infer the side effects of an arbitrary executable.
Read the workflow → · Recording · UX-01 · UX-09 · UX-12 · UX-13 · UX-15 · UX-16
Supersede a slow log refresh
Nativejj log (background refresh)
Replace a slow graph refresh with a new request while keeping the prior graph usable.
- In jk
r; r again while refreshing- Result
- Cancels the older load; only the newest applicable result can replace the visible graph.
- This cancellation does not cover synchronous mutation or command-mode execution.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- A second r supersedes the first request. Escape on the root log quits the app; it is not a dedicated cancel-refresh control.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Read a failed refresh in C, correct its cause, and refresh again. Retained rows are the previous snapshot.
Commit the working copy
Command modejj commit -m MESSAGE
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:commit -m MESSAGE- Result
- Describes/commits the working-copy change and starts a new working-copy child according to jj commit behavior; the selected log row is not the operand.
- Affects
- working-copy revision, affected content paths, possibly ancestors or descendants
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A working-copy change with content to commit; the log cursor may point elsewhere.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Copy a revision
Command modejj duplicate REV
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:duplicate REV- Result
- Creates new copies of the explicit revisions; originals remain. Inspect the new change identities.
- Affects
- new revisions, possibly working-copy files
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Apply inverse changes
Command modejj revert -r REV -o DESTINATION
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:revert -r REV -o DESTINATION- Result
- Creates changes applying the inverse of the selected revisions onto the explicit destination; original changes remain.
- Affects
- new revisions, possibly working-copy files
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Absorb working-copy edits
Command modejj absorb
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:absorb- Result
- Moves eligible working-copy edits into their ancestor changes; inspect every rewritten ancestor and any remaining working-copy content.
- Affects
- working-copy revision, affected content paths, possibly ancestors or descendants
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Compare change versions
Command modejj interdiff --from FROM --to TO
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:interdiff --from FROM --to TO- Result
- Shows captured command output; return to log and refresh to inspect repository changes.
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Run an arbitrary revset query
Command modejj log -r REVSET
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:log -r REVSET- Result
- Shows captured command output; return to log and refresh to inspect repository changes.
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Split by named paths
Command modejj split FILESET... -m MESSAGE
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:split FILESET... -m MESSAGE- Result
- Splits selected files into one revision and remaining changes into another. The message names the selected part; no native fileset picker is involved.
- Affects
- working-copy revision, affected content paths, possibly ancestors or descendants
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A nonempty working-copy change containing selected filesets and remaining changes; a message is supplied to avoid an editor.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Restore selected paths
Command modejj restore --from SOURCE FILESET...
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:restore --from SOURCE FILESET...- Result
- Copies only matching source paths into the working-copy destination; other paths remain as they were.
- Affects
- working-copy revision, affected content paths, possibly ancestors or descendants
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Restore changes made in a revision
Command modejj restore --changes-in REV FILESET...
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:restore --changes-in REV FILESET...- Result
- Undoes the selected revision’s changes in matching paths relative to its merged parents; other paths remain unchanged.
- Affects
- working-copy revision, affected content paths, possibly ancestors or descendants
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Squash selected paths
Command modejj squash --from SOURCE --into DESTINATION FILESET... --use-destination-message
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:squash --from SOURCE --into DESTINATION FILESET... --use-destination-message- Result
- Moves matching paths from source to destination while retaining the destination description.
- Affects
- selected source paths, destination revision, descendants
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Abandon several revisions
Command modejj abandon REV...
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:abandon REV...- Result
- Abandons all explicit revisions and rebases descendants with no native confirmation dialog.
- Affects
- explicit source revisions, descendants, possibly working-copy files
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Create with advanced options
Command modejj new -m MESSAGE PARENT...
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:new -m MESSAGE PARENT...- Result
- Creates a new working-copy change above the explicit parents with the supplied message.
- Affects
- new revisions, possibly working-copy files
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Rebase several source revisions
Command modejj rebase -r SOURCE -r SOURCE -o DESTINATION
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:rebase -r SOURCE -r SOURCE -o DESTINATION- Result
- Rebases every explicit source revision to the destination; inspect both moved revisions and reconnected descendants.
- Affects
- explicit source revisions, descendants, possibly working-copy files
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Track a remote bookmark
Command modejj bookmark track exact:NAME --remote exact:REMOTE
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:bookmark track exact:NAME --remote exact:REMOTE- Result
- Shows captured command output; return to log and refresh to inspect repository changes.
- Affects
- local bookmark or tracking metadata
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Stop tracking a remote bookmark
Command modejj bookmark untrack exact:NAME --remote exact:REMOTE
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:bookmark untrack exact:NAME --remote exact:REMOTE- Result
- Shows captured command output; return to log and refresh to inspect repository changes.
- Affects
- local bookmark or tracking metadata
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Rename a local bookmark
Command modejj bookmark rename OLD NEW
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:bookmark rename OLD NEW- Result
- Shows captured command output; return to log and refresh to inspect repository changes.
- Affects
- local bookmark or tracking metadata
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Forget local bookmark metadata
Command modejj bookmark forget NAME
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:bookmark forget NAME- Result
- Shows captured command output; return to log and refresh to inspect repository changes.
- Affects
- local bookmark or tracking metadata
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Create a workspace with explicit parents
Command modejj workspace add PATH --name NAME -r REV
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:workspace add PATH --name NAME -r REV- Result
- Creates a workspace at an unused destination with the supplied name and parent revision.
- Affects
- new workspace directory, workspace metadata
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Restore an earlier operation
Command modejj op restore OPERATION
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:op restore OPERATION- Result
- Creates a new operation restoring the earlier repository view. Inspect current files and references before continuing.
- Affects
- repository operation history, repository view, possibly working-copy files
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Integrate an operation
Command modejj op integrate OPERATION
Use a noninteractive jj form that has no dedicated jk control.
- In jk
:op integrate OPERATION- Result
- Makes the identified operation part of the operation log; divergent histories can require integration.
- Affects
- repository operation history, repository view, possibly working-copy files
- Command mode forwards arguments to installed jj; this row is not a native form.
- Provide all operands and messages needed to avoid an interactive tool.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- Escape cancels input before running; there is no foreground tool handoff.
- Failure
- Read the error and Command History before retrying; jj owns repository validation.
- Recover
- Inspect C and the operation log before undoing a repository change.
Use an external description editor
Outside jkjj describe REV
Use a workflow that is outside the current native surface.
- In jk
Leave jk and run the appropriate jj command- Result
- The terminal is not handed to an editor.
- The terminal is not handed to an editor.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- No native dialog exists for this form.
- Failure
- This form has no supported native interaction.
- Recover
- Finish or cancel the foreground jj workflow in the shell, then reopen jk and inspect status and operation history.
Split interactively
Outside jkjj split -i
Use a workflow that is outside the current native surface.
- In jk
Leave jk and run the appropriate jj command- Result
- Interactive diff tools require leaving jk.
- Interactive diff tools require leaving jk.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- No native dialog exists for this form.
- Failure
- This form has no supported native interaction.
- Recover
- Finish or cancel the foreground jj workflow in the shell, then reopen jk and inspect status and operation history.
Edit a diff with a tool
Outside jkjj diffedit
Use a workflow that is outside the current native surface.
- In jk
Leave jk and run the appropriate jj command- Result
- Interactive diff tools require leaving jk.
- Interactive diff tools require leaving jk.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- No native dialog exists for this form.
- Failure
- This form has no supported native interaction.
- Recover
- Finish or cancel the foreground jj workflow in the shell, then reopen jk and inspect status and operation history.
Resolve using a merge tool
Outside jkjj resolve
Use a workflow that is outside the current native surface.
- In jk
Leave jk and run the appropriate jj command- Result
- Interactive merge tools require leaving jk.
- Interactive merge tools require leaving jk.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- No native dialog exists for this form.
- Failure
- This form has no supported native interaction.
- Recover
- Finish or cancel the foreground jj workflow in the shell, then reopen jk and inspect status and operation history.
Publish changes
Outside jkjj git push
Use a workflow that is outside the current native surface.
- In jk
Leave jk and run the appropriate jj command- Result
- Native push is dry-run only; : rejects git push.
- Native push is dry-run only; : rejects git push.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- No native dialog exists for this form.
- Failure
- This form has no supported native interaction.
- Recover
- Finish or cancel the foreground jj workflow in the shell, then reopen jk and inspect status and operation history.
Mutate selected hunks
Outside jkjj squash/restore/commit/split -i
Use a workflow that is outside the current native surface.
- In jk
Leave jk and run the appropriate jj command- Result
- No native shared fileset or hunk mutation selection exists.
- No native shared fileset or hunk mutation selection exists.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Check the view title, selected object and rendered output; use Command History (C) for the exact command.
- Cancel
- No native dialog exists for this form.
- Failure
- This form has no supported native interaction.
- Recover
- Finish or cancel the foreground jj workflow in the shell, then reopen jk and inspect status and operation history.
Restore at a historical operation
Command modejj --at-operation OPERATION restore --from SOURCE --into DESTINATION
Use a workflow that is outside the current native surface.
- In jk
:--at-operation OPERATION restore --from SOURCE --into DESTINATION- Result
- Captured command mode accepts explicit historical restore operands. Native Run options refuses historical restore into symbolic @.
- Run options rejects historical restore to preserve the meaning of @.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the exact command, captured output and operation IDs in C; compare operation history and affected content.
- Cancel
- Escape cancels the : prompt before execution; Enter runs the captured command.
- Failure
- Inspect captured stderr and C before retrying; command-mode execution has no native result/recovery dialog.
- Recover
- Inspect the resulting operation ID before using op restore or op integrate; working-copy files may be unchanged.
Run without integrating an operation
Command modejj --no-integrate-operation COMMAND
Use a workflow that is outside the current native surface.
- In jk
:--no-integrate-operation COMMAND- Result
- Command mode forwards the option and captures its operation ID; no dedicated native recovery flow is provided.
- Affects
- repository operation history, repository view, possibly working-copy files
- No native detached-operation result/recovery workflow exists.
Starting state, verification, and recovery
- Before
- A jj repository with a working copy and visible history.
- Verify
- Inspect the exact command, captured output and operation IDs in C; compare operation history and affected content.
- Cancel
- Escape cancels the : prompt before execution; Enter runs the captured command.
- Failure
- Inspect captured stderr and C before retrying; command-mode execution has no native result/recovery dialog.
- Recover
- Inspect the resulting operation ID before using op restore or op integrate; working-copy files may be unchanged.