Jujutsu (jj) is a version control system designed to simplify common development workflows while remaining compatible with Git repositories. It approaches version control differently from conventional Git clients, particularly in the way it handles working-copy changes, commits and repository history.
Instead of requiring developers to stage and commit every change manually, Jujutsu automatically records changes to the working copy as part of its normal command workflow. Its design makes it straightforward to revise earlier changes without repeatedly managing Git’s staging area.
Jujutsu also maintains an operation history, allowing users to inspect previous repository states and undo mistakes. It can work with existing Git repositories and hosting services, making it possible to adopt its workflow without abandoning Git infrastructure.
This is free and open source software.
Key Features
- Git-compatible storage and support for working with existing Git repositories.
- Automatically snapshots changes to the working copy during ordinary commands.
- Tracks newly created files by default, while respecting configured ignore patterns.
- Operation log records changes to repository state and supports undo and recovery.
- Automatically rebases descendant commits when earlier revisions are rewritten.
- First-class handling of conflicts, allowing unresolved conflicts to be recorded and resolved later.
- Revision identifiers remain stable across many commit rewrites through change IDs.
- Flexible revision selection using revsets and configurable templates.
- Split, squash, abandon, restore and reorder changes without manually rebuilding commit history.
- Named bookmarks for tracking revisions and exchanging branches with Git remotes.
- Support for multiple workspaces sharing a repository.
- Customisable aliases, configuration and command output.
- Built-in diff display and integration with external editors and merge tools.
- Safeguards against accidentally rewriting immutable revisions.
- Cross-platform support for Linux, macOS and Windows.
Website: github.com/jj-vcs/jj
Support:
Developer: jj-vcs
License: Apache License 2.0
Jujutsu is written in Rust. Learn Rust with our recommended free books and free tutorials.
Related Software
| Revision Control Tools | |
|---|---|
| Git | Used in high profile open source projects, most notably the Linux kernel |
| Jujutsu | Powerful version control system for software projects |
| Mercurial | Fast, lightweight Source Control Management system |
| Subversion | General system that can be used to manage any collection of files |
| Lore | Centralized, content-addressed version control system |
| Darcs | An advanced revision control system |
| Fossil | Distributed version control system |
| dat | Distributed data community for the next generation Web |
| Sapling | Scalable, user-friendly source control system |
| Pijul | Sound and fast distributed version control system |
| CVS | Concurrent Versions System |
| Breezy | Decentralized revision control system supporting Bazaar and Git formats |
| Monotone | Especially strong in its support of a diverge/merge workflow |
| Game of Trees | Prioritizes ease of use and simplicity over flexibility |
| HugeSCM | Cloud-native version control system |
Read our verdict in the software roundup.
| Git Storage and Security Tools | |
|---|---|
| git-lfs | Git extension for versioning large files |
| Jujutsu | Powerful version control system for software projects |
| git-bug | Distributed offline-first bug tracker |
| Dash | Rich terminal UI for GitHub |
| git-secrets | Prevent adding secrets into git repositories |
| Commitizen | Create well-structured Git commit messages |
| git-repair | Repair various forms of damage to git repositories |
| git-secret | Bash tool which stores private data inside a git repo |
| git-annex | Manage files with git without checking the file contents into git |
| gitmoji-cli | Use gitmojis in Git commit messages |
| ghq | Organise local clones of remote repositories |
| git-crypt | Transparent file encryption in git |
| gita | Manage multiple git repos |
| git-chglog | CHANGELOG generator implemented in Go |
| cz-git | Commitizen adapter and command-line tool |
| gitpane | Multi-repo Git workspace dashboard |
| git-trim | Keep Git working directories clear of stale local branches |
| gfold | Keep track of multiple Git repositories |
| Garden | Command runner and multi-repo Git configuration tool |
| mani | Manage collections of Git repositories |
| GitSocial | Git-native cross-forge collaboration |
| git-fresh | Refresh Git working copies from the terminal |
| Forge Sparks | Get Git forges notifications |
| gohome | Git standup and activity reporting CLI |
| git-appraise | Distributed code review system for Git repositories |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.