Skip to content
Discussion options

You must be logged in to vote

jj rebase can rebase multiple revisions at once, whereas jj split can only split a single revision. That's why one is --revisions and the other is --revision. I always use the short option -r so I don't have to worry about the difference.

jj squash -r foo is shorthand for jj squash --from foo --into foo-. The "primitive" operation is jj squash --from REV --into REV, but squashing a revision into its parent is very common, so -r exists for that use case.

jj new, jj abandon, jj describe, and jj show can all take a -r, so you can type it if it helps your muscle memory. However, those commands will never take a PATH argument (which is always positional), so as a convenience you can leave off …

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@Minion3665
Comment options

@jennings
Comment options

jennings May 6, 2025
Collaborator

Answer selected by Minion3665
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants