logoalt Hacker News

rtpgyesterday at 10:55 PM0 repliesview on HN

"jj new" is like "I'm going to make some changes", then you do "jj squash" to say "OK these look good enough to commit".

If you work this way you're "always" in a WIP state. And if you switch to another spot you won't lose your work, cuz it's persisted.

The end result if you work like this is you don't need stashing, since you get "free" stashing in your commit tree, which is more likely what people want (and if it's not... rebasing is easy so just move the node/`jj duplicate` it!)

`jj edit` exists but I think it's just not what people want in the default case at all. In exchange: rebasing "just works", stashing is not a thing to think about, and you don't lose your work