jj (Jujutsu)
Hacker ApprovedRanked 4 of 26 version control systems by recommenders
A Git-compatible version control tool that people find simpler than Git, with painless undo, easy history editing and light branching; skeptics say it isn't different enough to justify relearning.
A Git-compatible version control tool that people find simpler than Git, with painless undo, easy history editing and light branching; skeptics say it isn't different enough to justify relearning.
152 people gave an opinion
- recommend it
- 115
- criticize it
- 37
- approval share
- 76%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Owned for 1 year
Median of the 7 owners who said how long they have had it.
Each square is one year.
Why it carries the badge
- 115 people recommend itNeeds 10 or more, met.
- 3.1 recommenders for every criticNeeds 2 to 1 or better, met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Simpler, more intuitive than Git
“those same people that struggled for years with git are able to pick up jj and be very productive with no issue whatsoever, in a matter of days”
Comment from 23 Apr 2026 in “Highlights from Git 2.54” “jj has far fewer warts than git. You don’t have to learn every jj idiom, you just have to find a workflow you like”
Comment from 14 Apr 2026 in “What is jj and why should I care?” “I found that jj is just so much nicer to use, for me, that I haven't used git itself in years at this point.”
Comment from 14 Apr 2026 in “What is jj and why should I care?” - Comment from 14 Apr 2026 in “What is jj and why should I care?”
- Comment from 14 Apr 2026 in “What is jj and why should I care?”
- Comment from 14 Apr 2026 in “What is jj and why should I care?”
- Comment from 14 Apr 2026 in “What is jj and why should I care?”
- Comment from 29 Jul 2026 in “Superlogical – Mitchell Hashimoto”
Fearless rebases with reliable undo
“This is such a killer feature to me. I'm not scared to start potentially gnarly rebases anymore because I can painlessly undo.”
Comment from 14 Apr 2026 in “What is jj and why should I care?” “once you start doing the really fancy stuff, one of the two will get you a lot fewer messy explosions”
Comment from 14 Apr 2026 in “What is jj and why should I care?” “The mental model is so much cleaner than git, undo actually works the way you'd expect it to”
Comment from 14 Apr 2026 in “What is jj and why should I care?” - Comment from 14 Apr 2026 in “What is jj and why should I care?”
- Comment from 15 Apr 2026 in “What is jj and why should I care?”
Easy squashing and history editing
“Just being able to squash changes to earlier commits without having to fiddle with fixups and interactive rebases is worth it for me.”
Comment from 14 Apr 2026 in “What is jj and why should I care?” “I'd argue that this is one of the killer features of `jj`, since by comparison `git rebase` treats everything the same”
Comment from 14 Apr 2026 in “What is jj and why should I care?” “because children are also rebased, you can see immediately how much work, if any, you have to do”
Comment from 8 Dec 2025 in “Stacked Diffs with git rebase —onto” - Comment from 14 Apr 2026 in “What is jj and why should I care?”
Lightweight branching and parallel work
“With branches, jj is to git what git was to SVN. It's an order of magnitude less friction to do branching in jj than git.”
Comment from 14 Apr 2026 in “What is jj and why should I care?” “Anonymous branches are amazing for when you are trying out a bunch of different approaches to a problem.”
Comment from 14 Apr 2026 in “What is jj and why should I care?” “I'm having a much better time with jj and a workspace per subagent than I was with git and worktrees.”
Comment from 30 Jul 2026 in “Show HN: A local merge queue for parallel Claude Code agents” - Comment from 14 Apr 2026 in “What is jj and why should I care?”
What people warn about
Each mark is one comment
Not different enough from Git
“doesn't really differentiate itself enough for people who've been using git for a long time”
Comment from 15 Apr 2026 in “What is jj and why should I care?” “There is nothing in jj, pijul, or Bram Cohen's thing that is anywhere near as dramatic a quality of life improvement”
Comment from 14 Apr 2026 in “What is jj and why should I care?” “brings nothing new to the table while desperately trying to replace a well-established industry standard”
Comment from 15 Apr 2026 in “What is jj and why should I care?” - Comment from 14 Apr 2026 in “What is jj and why should I care?”
- Comment from 14 Apr 2026 in “What is jj and why should I care?”
Relearning unfamiliar commands and idioms
“seems a lot easier to learn, but really don't have the interest to re-learn a bunch of ever-changing idioms”
Comment from 14 Apr 2026 in “What is jj and why should I care?” “These obscure nonsense commands only makes sense when you are accustomed to them.”
Comment from 14 Apr 2026 in “What is jj and why should I care?” Installing via Rust/Cargo is a hassle
“as far as I can tell you still need to run Cargo which I don't want to do because I don't care about Rust”
Comment from 14 Apr 2026 in “What is jj and why should I care?” “I won't install Rust just to test your software. Make a debian package like everyone else.”
Comment from 14 Apr 2026 in “What is jj and why should I care?” Rough edges and missing features
“when I use filesystem paths as remotes they need to be colocated or else it doesn't work, which is a little annoying”
Comment from 23 Jun 2026 in “Git is forever. I'm building Oak anyways” “I'm advocating for JJ to build a proper daemon that runs "checks" per change in the background.”
Comment from 3 Feb 2026 in “Prek: A better, faster, drop-in pre-commit replacement, engineered in Rust” “it's frustrating that lfs is taking so long. But there seems to be some momentum recently”
Comment from 14 Apr 2026 in “What is jj and why should I care?”
Other version control systems people recommend
The four most recommended other version control systems, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| Git | 814 | 503 | 62% | 13 | 15 yrs42 owners | — |
| Jujutsu (jj) | 335 | 106 | 76% | 13 | 1 yr21 owners | Approved |
| Mercurial | 121 | 43 | 74% | 12 | 19 yrs7 owners | Approved |
| jj (Jujutsu) | 115 | 37 | 76% | 12 | 1 yr7 owners | Approved |
| Fossil | 106 | 19 | 85% | 13 | 17 yrs7 owners | Approved |
What people said
40 of the 207 comments that mention it, newest first. Each links to the original comment.
“whose workspaces track what state they were snapshotted at, thus never losing what the true diff of a workspace should be”
“I'm having a much better time with jj and a workspace per subagent than I was with git and worktrees.”
“tools like jj remove the need in Git GUI because mental model and UX gets streamlined”
“when I use filesystem paths as remotes they need to be colocated or else it doesn't work, which is a little annoying”
“the goobers finally buckle down and read the manual for a tool that coincidentally does stuff a little different from git”
“those same people that struggled for years with git are able to pick up jj and be very productive with no issue whatsoever, in a matter of days”
“brings nothing new to the table while desperately trying to replace a well-established industry standard”
“doesn't really differentiate itself enough for people who've been using git for a long time”
“There is no jj command that destroys information another jj command can't bring back.”
“I think the project would find many more fans if it didn't make such a big deal about being kinda like git.”
“jj has far fewer warts than git. You don’t have to learn every jj idiom, you just have to find a workflow you like”
“once you start doing the really fancy stuff, one of the two will get you a lot fewer messy explosions”
“in jj, they don't disappear - they remain very visible, and the log UI shows them in a way that makes it clear where they come from”
“This is such a killer feature to me. I'm not scared to start potentially gnarly rebases anymore because I can painlessly undo.”
“With branches, jj is to git what git was to SVN. It's an order of magnitude less friction to do branching in jj than git.”
“I found that jj is just so much nicer to use, for me, that I haven't used git itself in years at this point.”
“as far as I can tell you still need to run Cargo which I don't want to do because I don't care about Rust”
“Anonymous branches are amazing for when you are trying out a bunch of different approaches to a problem.”
“it's frustrating that lfs is taking so long. But there seems to be some momentum recently”
“It's like git with a lot of accidental complexity (staging area, stashes, commit ID instability) removed.”
“There is nothing in jj, pijul, or Bram Cohen's thing that is anywhere near as dramatic a quality of life improvement”
“it hasn't felt sufficiently better than git to justify bothering re-learning this stuff”
“jj is better for some workflows, which, if you're a git expert as you claim, you conciously or subconciously avoid as 'too much work' or 'too brittle'.”
“These obscure nonsense commands only makes sense when you are accustomed to them.”
“I'm having trouble understanding the value of this and most other supposed advantages of jj I'm seeing.”
“rebases don't lose branches and jj absorb trivially squashes changes to the correct head”
“the workflows are intuitive and you never find yourself reaching for help to get something done”
“The mental model is so much cleaner than git, undo actually works the way you'd expect it to”
“jj has almost 30,000 stars on github. You might not be looking for a different git ux, but plenty of people are!”
“trivially working on 3 PRs in a single checkout and pushing focused changes to each one independently”
“seems a lot easier to learn, but really don't have the interest to re-learn a bunch of ever-changing idioms”
“I won't install Rust just to test your software. Make a debian package like everyone else.”
“The only time I had any friction was on a team where stale code-gen output was checked into the repo”
“I'd argue that this is one of the killer features of `jj`, since by comparison `git rebase` treats everything the same”
“It's very intuitive in my experience, something I can't say is true for managing git commits”
“Just being able to squash changes to earlier commits without having to fiddle with fixups and interactive rebases is worth it for me.”
“I also like `jj commit [paths]` to commit just a subset of files when I don't need hunk based splitting.”
“jj shows you can do that also without blocking on merges but with first level conflicts that need to be resolved”
“I'm advocating for JJ to build a proper daemon that runs "checks" per change in the background.”
“because children are also rebased, you can see immediately how much work, if any, you have to do”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.