I use the Git index (staging area). This is an important part of my workflow and I cannot use a version control system that doesn't have it.
The Git index is used to build up the next commit. Your working copy may have many files unrelated to the change you want to commit.
The underlying need is to:
- Build up a commit from a subset of changes in the working copy
- ...
Instead of a different data structure, Jujutsu uses commits as the staging area.
To start work, create two new revisions:
$ jj new -m "My new feature"
$ jj new
As you change files, the changes are added to the second commit.
To build up the commit, squash changes into the first commit:
$ jj squash -i
This opens the diff editor and lets you choose which changes you want to move into the first commit.