Remix.run Logo
Jenk 4 days ago

The one paragraph that helped jj begin to click for me was this one from Steve's Jujutsu Tutorial[0]:

> If you want to replicate git's behavior, typing an additional command after each change is done feels like overkill. But I would argue this is not the right way to use jj; as you'll see, we'll be either re-writing commits at the tip of branches, or doing multiple steps of work before updating where a branch points. In practice, it means I check the branch status before pushing code, rather than as I work. That is, the branch name tends to sit at the same change as the remote server, and when it's time to update the remote, that's when I update things locally.

[0]: https://steveklabnik.github.io/jujutsu-tutorial/sharing-code...

(emphasis mine)

That, as I interpreted it, is to mean one should begin to "forget" git in order to appreciate jj with a sense of new beginning.

Previously, I was continuously translating jj to git, and vice-versa. After reading this paragraph, I now mentally model the jj-git relationship as a kind of 3rd stage of the workflow, rather than previously assuming jj as an abstraction on top of git.

steveklabnik 4 days ago | parent [-]

I'm glad that helped you!

Darmani 3 days ago | parent [-]

I like it too and just added it to the slides, as an interlude after Exercise 5.

steveklabnik 3 days ago | parent [-]

Cool cool, thanks for making good jj content :) We need more of it!