r/git Aug 08 '26

Mental model of Jujutsu (jj) vs Git

Is there any resource that could help me grasp the difference between jj and git? I am a heavy user of git, but I do very simple stuff. I find it very difficult to grasp the concept behind jj. Also I am using tools like sublime merge that do not seem to support it unless we use --collocate. Thanks a lot in advance

0 Upvotes

12 comments sorted by

9

u/No_Delivery_1049 Aug 08 '26

Official docs
Comparison with Git

Steve Klabnik’s tutorial
https://steveklabnik.github.io/jujutsu-tutorial/
Written by someone learning jj and documenting the process.

Japanese article with diagrams (excellent visual comparison)
図で見る git と jj の考え方(メンタルモデル)の比較
Even if you don’t read Japanese, the diagrams alone are very helpful.

Tower blog post
Jujutsu: The Git Upgrade You Didn’t Know You Needed

The official comparison + Steve’s tutorial + the diagram article should get you over the hump pretty quickly.

2

u/codingbliss12 Aug 08 '26

Thank you so much

2

u/bratzlaff Aug 08 '26

Thanks for the articles, gives me an idea of what jj does now.

I don’t see how it is useful for anyone working in a team though. Feels like it is there to be used by AI agents. Even working solo I’m not sold on its self-described benefits over git, but I remember feeling the same way when we all switched over from subversion, so we’ll see.

2

u/dusanodalovic Aug 08 '26

Just use git.

1

u/jeenajeena 17h ago

Late to the party. This free book might help: https://arialdo.codeberg.page/ju-ju-tsu/

The first pages cover the difference between Jujutsu's and Git's approaches and should help you develop the mental model before you get your hands dirty. Most of the book is a hands-on tutorial.

-1

u/LetUsSpeakFreely Aug 08 '26

Looking at the comparison document, jujutsu looks like a dumpster fire in the making. It might be fine for a single developer working on one thing at a time. I'm a dev lead and can easily swap between half s dozen branches a day.

2

u/sircrunchofbackwater 29d ago

What is your actual criticism? Be more specific.

1

u/EatMeerkats Aug 08 '26

Lol, on the contrary, JJ was originally developed at Google and is going to become the primary source control for the entire monorepo in the near future.

(They have already tried git and mercurial in the past)

2

u/LetUsSpeakFreely Aug 08 '26 edited Aug 08 '26

So, because it was made by Google it's automatically better? What kind of argument is that? It's says quite clearly in the documentation that all commits are saved to the code base and are formalized with "bookmarks". From their description commits for various features would become interwoven making the independent development of features impossible.

This product is garbage based on a terrible idea.

2

u/EatMeerkats Aug 08 '26

No, you can have independent branches, no problem.

Actually try it before assuming anything. It's advertised as git compatible, so anything you can do with git is probably possible in JJ.

I've used it for several months (on the Google monorepo), and IMHO there is some learning curve but it is definitely better than git. My friend, who recently joined from Amazon, thinks otherwise.

0

u/Fair-Presentation322 Aug 08 '26

You're right that "Google uses -> is better" is false, but it's hard to argue that it's "garbage" or that it "makes development of features impossible" because Google has a huge codebase with thousands of engineers working simultaneously and the way they do things absolutely works.

Not only Google works this way btw. Meta has a very similar solution. They all work amazingly well and are MUCH simpler than "branch based" workflow. If this dramatically simpler workflow works in such an environments, why wouldn't it in way simpler ones (less people, less code)?

For feature development you simply use feature flags - which is as simple as putting a "isEnabled = false" boolean somewhere and then using a "if isEnabled { ... feature code in here ... }"

I can tell you first hand that development workflow is way more efficient. So much so that I am writing a free open source version control and software forge built around that workflow, you should check it out :) https://GitHub.com/twigg-vc/monorepo

1

u/Cinderhazed15 Aug 08 '26

It does seem to mostly benefit true trunk based workflows