Comment by danielhep

Comment by danielhep 18 hours ago

10 replies

I have tried jj several times but I feel like it slows me down significantly because I can’t grok the workflow. I like to do a bunch of changes then quickly select them in my editor and commit them, breaking them up into different commits to keep them organized. With jj’s lack of editor integration, I don’t know how to do this with the cli alone so I end up with bigger messier commits.

WolfeReader 18 hours ago

You want "jj commit -i". You'll get an interface that lets you choose files, chunks, or lines to commit.

  • Zambyte 16 hours ago

    Or the shorthand: jj ci -i

    Or if you don't care to set a commit message just yet: jj split -i

    Or if you want to defer making sure each commit has the right content until later, just use jj new, and then later use jj squash and jj split to make the commits have sensible changes, and jj desc to set the descriptions.

  • mettamage 7 hours ago

    Sold!

    I'm trying jj. I've seen enough mentions now. I've never read anything about it.

    I hope it's compatible with git.

    • MrGreenTea 7 hours ago

      The compatibility with git is the whole reason it's so popular (just run `jj git init --colocate` in your git repo). You can use it without forcing your collaborators to switch from git and you can use it will a git forges as well.

      • stavros 5 hours ago

        I don't think you need `--colocate` any more, and maybe you don't even need `git`? I tried `jj init` in a git repo the other day and it did create a colocated jj repo, as far as I could see.

        • icorbrey 2 hours ago

          Not sure on `jj init`, but yeah colocation is default as of I believe 0.34

stouset 15 hours ago

This exact thing is quite literally one of jj’s flagship features: `jj split`.

tcoff91 15 hours ago

In JJ you make a bunch of changes and then you split the commit into multiple commits.