Judo is a native macOS Jujutsu https://jj-vcs.github.io/jj/latest/ GUI client.
Change Management:
- Create new changes (
jj new) - Abandon changes (
jj abandon) - Squash changes (
jj squash) - single commit squashes only - Edit change descriptions (
jj describe) - Simple rebase changes via drag & drop (
jj rebase) - single commit moves only
Repository Navigation:
- View repository log (
jj log) - Filter by revset expressions
- Search by description text
- View diffs for changes (
jj diff)
Bookmark Management:
- View bookmarks
- Move bookmarks via drag & drop (
jj bookmark move)
Undo Operations:
- Undo last operation (
jj undo)
- Multiple view modes (Timeline, Mixed, Change)
- Diff viewing with syntax highlighting
- Change metadata display (author, date, commit ID)
- Graph visualization showing change relationships
- Live repository status updates
jj commit- Create a new change from working copy (easy)jj duplicate- Duplicate changes (easy)jj edit- Set a revision as working copy (easy)jj next/jj prev- Navigate to child/parent revision (easy)jj redo- Redo previously undone operation (easy)jj restore- Restore paths from another revision (easy)jj show- Show commit description and changes (easy)jj status- Show working copy status (easy)jj workspace root- Show workspace root directory (easy)
jj absorb- Move changes into mutable ancestorsjj diffedit- Edit changes with diff editorjj evolog- Show change evolution historyjj fix- Apply formatting fixesjj interdiff- Compare changes between commitsjj parallelize- Make revisions siblingsjj resolve- Resolve conflicts with merge tooljj revert- Apply reverse of revisionsjj split- Split a revision in twojj unsquash- Move changes from parent
jj gitcommands - Git remote operations (fetch, push, pull, clone)jj operationcommands - Operation log managementjj workspacecommands - Multiple workspace supportjj config- Configuration managementjj sparse- Sparse checkout managementjj tag- Tag managementjj sign/jj unsign- Cryptographic signaturesjj fileoperations - File-level operations
- IMPORTANT Use Judo at your own risk.
- Judo is (currently) using a Document based architecture in SwiftUI. Judo's documents are folders and SwiftUI isn't really set up to work like that. This means we have vestigal "Save" and "Revert" menu items that don't do anything except throw errors.
jjinstalled. By default Judo looks at the Apple Silicon homebrew default install location of/opt/homebrew/bin/jj, but this is configurable in Settings.
MIT License