Jujutsu Strategies :: Reasonably Polymorphic

submited by
Style Pass
2024-05-21 00:00:02

Today I want to talk about jujutsu, aka jj, which describes itself as being “a Git-compatible VCS that is both simple and powerful”. This is selling itself short. Picking up jj has been the best change I’ve made to my developer workflow in over a decade.

Before jj, I was your ordinary git user. I did things on Github and knew a handful of git commands. Sometimes I did cherry picks. Very occasionally I’d do a non-trivial rebase, but I had learned to stay away from that unless necessary, because rebasing things was a perfect way of fucking up the git repo. And then, God forbid, I’d have to re-learn about the reflog and try to unhose myself.

What I hadn’t realized until picking up jj was just how awful the whole git experience is. Like, everything about it sucks. With git, you need to pick a branch name for your feature before you’ve made the feature. What if while doing the work you come up with a better understanding of the problem?

With git, you can stack PRs, but if you do, you’d better hope the reviewers don’t want any non-trivial changes in the first PR, or else you’ll be playing commit tag, trying to make sure all of your branches agree on the state of the world.

Leave a Comment
Related Posts