4 ms·
> If you’re not already using git add -p to stage your commits then you’re missing out. After switching to jujutsu, I assure you I don't miss this feature. jj
by BeetleB 3mo ago
> If you’re not already using git add -p to stage your commits then you’re missing out.
After switching to jujutsu, I assure you I don't miss this feature.
jj takes the opposite approach. It keeps staging things, and you use split whenever you want to separate things out.
(And yes, it stores the staged changes as revisions, so you can always back out to a previous staged state).
- pmarreck 3mo agoI've sadly had to back out of using jj after leaning into LLM coding assistance, as, even with an extremely well-written jj guide in its context (and literally blocking the use of git), it never failed to screw things up more than if I was just using git (I call this an "LLMpedance mismatch" problem) If LLM coding assistance continues to increase, it's going to be a rather large speed bump to cross One of the biggest problems is actually unsolvable if you want to keep colocated Git and git tooling around, because it has to do with how jj fundamentally works: detached HEADs, detached HEADs everywhere You yourself may not use AI, this is for those who do and are interested in switching to jj
- BeetleB 3mo agoI don't let LLMs make commits for me - git or jj. OK, OK - I lie. For personal projects I do - some handle jj decently well. But at work I don't let it make any commits ... and it never tries to. What tools are you using that won't work with detached heads?
- pmarreck 3mo agoI have a lot of things that are built around git already- such as my very commandline, which shouts in bright red if we are on DETACHED HEAD. I know WHY detached heads happen when using jj (from git's perspective); that doesn't mean I have to LIKE it. Why can't interim worktree commits just use the most-recent bookmark, which is 99% of the time what you'd likely want anyway, is easily movable if it's not, and keeps all Git tooling (as well as old Git users like me) from getting confused? I've been letting LLMs make commits for many months now. Perhaps that's the "problem" in my case, and why LLMs' incomplete "mental" model of jj seems to cause issues. You wouldn't see the problem if you are still manually committing. (Also, WHY are you still manually committing? LLMs are pretty great now at git committing, at least!)
- BeetleB 3mo ago> such as my very commandline, which shouts in bright red if we are on DETACHED HEAD. Fix the command line. Mine just shows the git hash, and the color is only red if there's an uncommitted diff. It doesn't care if I'm in a detached head. > Also, WHY are you still manually committing? LLMs are pretty great now at git committing, at least!) I like to control the shape of my commit log.
- jauntywundrkind 3mo agoGlm-5.1+ and gpt-5.5+ seem quite capable. My agents is mostly helping glm with a jj status command it would reliably try but get the quoting wrong on. It's not confused about detached head.
- hamdingers 3mo ago> jj takes the opposite approach. It keeps staging things, and you use split whenever you want to separate things out. You can use `git reset -p` to selectively unstage hunks the same way if you wanted to.
- BeetleB 3mo agoI've used git for many years and never remembered the command `git reset -p`. I'd have to look it up. Since that's a pain, I simply didn't. Whereas with jujutsu, after learning it once, I never looked up `split`. And it's not like I use `split` often. I can go weeks without it.
- nagaiaida 3mo agoi've always thought one of git's strengths is offering robust aliasing and subcommand flexibility. why not spend three seconds making git have split too?
- BeetleB 3mo agoAnd do that on every machine? Easier to just use jujutsu. It has a lot of benefits than just this.
- deleted 3mo ago[deleted]
- bdangubic 3mo agoif you did not have alias for git reset -p you never really used git ;)
- jauntywundrkind 3mo agoI did finally add jj-hunk to my AGENTS.md, and it's now a sizable set of instructions, to my chargrin. I haven't spent the time yet to trim it down but that's coming. I do think that as nice as jj is, the git add -p and git rebase -i are both still tools that base jj could do much better on, that people rightfully are going to miss & feel absolutely stranded, bereft, alone for when they are not there. They are just very clear. There's other tools in jj ecosystem you can build back up by (jj-hunk for example) but the Great Filter of dev ambition to keep striving on just to get back to the core git basics is deeply winnowing.
- BeetleB 3mo ago> I do think that as nice as jj is, the git add -p and git rebase -i are both still tools that base jj could do much better on, that people rightfully are going to miss & feel absolutely stranded, bereft, alone for when they are not there Can you elaborate? I don't know any reason I would prefer `git rebase -i` over jujutsu. Do you have an example? (Ditto for `git add -p`)
- jauntywundrkind 3mo agoBring able to rapidly open history list in a text editor and rearrange and issue commands in vim is fantastic. I don't need cli tools. It's basically a spreadsheet of history that can be directly modified, specified.