LinuxCommandLibrary

jj-new

Create new commit

TLDR

Create a new empty change on top of current revision

$ jj new
copy

Create a new empty change on top of specific revision
$ jj new [revision]
copy

Create a new merge change on top of multiple revisions
$ jj new [revset1 revset2 ...]
copy

Create a new empty change before and after specified revisions
$ jj new [[-B|--insert-before]] [revsets] [[-A|--insert-after]] [revsets]
copy

SYNOPSIS

jj new [OPTIONS] [REVISION]

PARAMETERS

-r, --revision <REVISION>
    Base revision for the new change (default: working-copy commit)

-m, --message <TEXT>...
    Description message for the new change (multi-line with multiple args)

--colocate-with <REVISION>
    Create as concurrent child of specified revision

--insert
    Insert new change below working-copy commit

--allow-large
    Permit large changes (experimental, skips some checks)

DESCRIPTION

Jujutsu (jj) is a Git-compatible version control system emphasizing usability with a change-based workflow. The jj new command creates a new empty change on top of the working-copy commit by default, making it the active working copy. Changes in jj are mutable until explicitly committed, allowing flexible editing, rebasing, and abandoning.

This contrasts with Git's immutable commits, enabling safer daily development. Use it to start features, fixes, or experiments. Specify a base revision to branch from others, add a description for context, or use options like --insert to add below the working copy for layered changes.

Ideal for solo or team workflows, integrating seamlessly with Git repos via jj git. After jj new, edit files, then jj describe or jj commit to finalize. (148 words)

CAVEATS

Requires Jujutsu installed; uses non-standard VCS model differing from Git. Not suitable for direct Git interop without jj git export.

EXAMPLES

jj new -m 'Implement feature X'
jj new main -m 'Fix from main'
jj new @- --insert (insert below current WC)

WORKFLOW TIP

After jj new, use jj diff to review, jj describe to edit message before jj commit.

HISTORY

Jujutsu developed by Martin von Zweigbergk (Google) starting 2021, first stable release 2023. jj new core to its Dag-based, concurrent change model improving on Git/Mercurial UX.

SEE ALSO

jj(1), git-commit(1), hg-commit(1)

Copied to clipboard