Redescribe, reorder, split, squash, abandon commits is trivial.
Auto-rebasing is fantastic, fix a conflict once and not have to keep correcting.
You can rebase individual commits, ranges of commits, etc. You can also rebase trees I.e. forking branches with a common ancestor, with a single command.
The operation log also makes it feel super safe. You can always undo a jj operation or restore to a past state
It drastically simplifies the process.
Redescribe, reorder, split, squash, abandon commits is trivial.
Auto-rebasing is fantastic, fix a conflict once and not have to keep correcting.
You can rebase individual commits, ranges of commits, etc. You can also rebase trees I.e. forking branches with a common ancestor, with a single command.
The operation log also makes it feel super safe. You can always undo a jj operation or restore to a past state