A Git-compatible version control system that simplifies workflows with automatic commits, operation logging, and conflict handling.
Jujutsu (jj) is a modern version control system that uses Git repositories as a storage backend for compatibility while introducing innovative features to simplify workflows. It treats the working copy as an automatically amended commit, records all operations for easy undo, and handles conflicts as first-class objects within commits. The system is designed to reduce complexity by unifying concepts around commits and ensuring safety under concurrent access scenarios.
Developers and teams familiar with Git who seek a more streamlined, error-resistant version control experience, particularly those working on collaborative software projects with complex history management needs. It also appeals to users interested in experimental features like safe concurrent replication on distributed file systems.
Developers choose Jujutsu over alternatives for its automatic working-copy commits that eliminate dirty state errors, its operation log enabling easy undo and debugging, and its first-class conflict handling that allows deferred resolution and automatic propagation. Its Git compatibility ensures interoperability with existing tools while offering a more intuitive and powerful workflow.
A Git-compatible VCS that is both simple and powerful
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Git repositories as a backend, allowing seamless compatibility with existing Git remotes and tools, as highlighted by its ability to work with GitHub and GitLab.
Treats the working copy as a commit that is automatically amended, eliminating dirty state errors and the need for stashing, simplifying common workflows.
Records every repository operation for easy debugging and undo, enabling mistake recovery with commands like 'jj op undo', as demonstrated in the README.
Records conflicts as first-class objects within commits, allowing deferred resolution and automatic propagation, unlike Git's temporary textual diffs.
Key Git functionalities like submodules are not fully implemented, and email-based workflows are unsupported, limiting use in some environments.
Pre-1.0 status means backward-incompatible changes to on-disk formats and workflows are planned, posing risks for long-term projects.
Custom metadata storage outside Git may not be supported by all Git tools, reducing seamless interoperability with the broader ecosystem.