Skip to content
Tech News
← Back to articles

Defeating Git Rigour Fatigue with Jujutsu

read original get Git Cheat Sheet Book → more articles
Why This Matters

This article highlights how the jujutsu version control system can help developers manage complex commit histories and reduce fatigue from maintaining strict Git practices. By enabling more flexible and organized iteration, it improves productivity and code quality in large feature development.

Key Takeaways

This post assumes a basic level of familiarity with the jujutsu version control system . If you haven't used jujutsu, you'll still get the gist of the idea, but I recommend reading Steve's Jujutsu tutorial after.

When developing a large feature, writing Good Commits is hard.

And by Good Commits, I mean something like:

define types add DB functions server CRUD client API client UI

This allows reviewers to step through your pull request in small bites, with each set of changes scoped to a single aspect of the feature.

So, naturally, here's what I do instead:

define types add DB functions WIP test code server CRUD client API and UI fix DB function fix UI bug refactor CRUD fix another UI bug

Latter commits overwrite work that was done in earlier commits and the story breaks.⚖️

Jujutsu makes it easier to hop around commits and iterate quickly on compartmentalized changesets, but it's still effortful and I get averse.🤖

jj absorb helps somewhat, as does jj squash -i, but they both have their downsides:

... continue reading