Key concepts
The change tree
VisualJJ shows your repository as a tree of changes, not a list of branches. Each change has a parent, and you can see exactly where your work sits relative to main.
Click any change to see its contents. Double-click to edit it.
Describing changes
When you describe a change, you're giving it a title that explains what it does. This makes the change easier to review and easier to find later.
Changes without descriptions show "Describe" button.
Editing history
You can reshape your changes at any time:
- Split a large change into smaller pieces
- Squash a fix into the change it belongs with
- Rebase to move changes onto a different parent
Conflicts
When two changes touch the same code, you get a conflict. VisualJJ marks conflicted changes in the tree and lets you open VS Code's merge editor to resolve them.
Conflicts prevent shipping until resolved, but they don't stop you from working on other changes.
Landing changes
Merge Pull Request lands your change through GitHub's PR flow—useful when you need reviews or CI checks.
Ship Now pushes directly to main—useful for personal repos or teams that don't require PRs.