Basic Commands
If you thought of CRUD, you nailed it!
Indeed, here are Jujutsu's basic commands. To manipulate your history tree you need to:
| Operation | Command |
|---|---|
| Create | new |
| Read | show |
| Update | edit |
| Delete | abandon |
the repository Changes.
Notice that I wrote "Changes", not "commits". You remember that when you amend a commit Git creates a different one. Jujutsu lets you keep referencing it with the same Change ID, treating it as the same thing. That thing is the Change, defined as:
"a commit as it evolves over time" — Glossary.
On top of that CRUD, you'd probably also like to:
| Operation | Command |
|---|---|
| Move a Change somewhere else | rebase |
| Move the edits you made somewhere else | squash |
| Copy files from a Change to another | restore |
| Display the history tree | log |
| List / undo / redo operations | op log / undo / redo |
That's... basically it? Learn these and you will master Jujutsu.
Macro Commands
Of course, on top of these, you can have commands that are in fact combinations of other commands. Some examples are:
| Operation | Possible command |
|---|---|
| Split a Change in 2 | split |
| Duplicate a Change | duplicate |
| Juggle Changes, interactively | arrange |
| Bisect (you know, the best of Git commands) | bisect |
| Magically, distribute edits where they belong | absorb |
and some other ones. But, I swear, the very first 2 sets are enough to take you way further than you've ever been with Git.
Worth a try. Open a terminal, grab your keeb and prepare to get your hands dirty.