top | item 45934298

(no title)

bfdm | 3 months ago

Maybe I'm out of the loop here, but scanning over this I can't help but ask myself: "Why Jujutsu?"

I don't understand what the point is over just using git. The top intro defined some JJ names for git things, but it's not clear why I would want or need this. What problem does it solve with using git?

discuss

order

EstanislaoStan|3 months ago

Ideally, reduces cognitive complexity because you don't have to think about the staging area anymore, just commits.

I recently started trying it out at work and I like how fluent it makes what would be more advanced git operations like squashing and rebasing.

Issues I've run into have been understanding its version of branches (bookmarks), understanding its merge conflict indicators, and its lack of respect for git skip-worktree.

yjftsjthsd-h|3 months ago

> Ideally, reduces cognitive complexity because you don't have to think about the staging area anymore, just commits.

My git use is mostly a direct translation of mercurial (which I learned first), and the staging area is really optional. The only time I ever type `git add` is when adding a new file; otherwise I just

  vi foo.txt
  git commit foo.txt
every time.

I guess jj is different still (by way of ~autocommitting), but my point stands.

dietr1ch|3 months ago

> Ideally, reduces cognitive complexity because you don't have to think about the staging area anymore, just commits.

This is the thing I don't like about jj. I know it makes splitting easy, but splitting is harder than selectively adding after blindly merging all changes.

lucyjojo|3 months ago

conceptually simpler, + easier to revert things.

in my case, i abandoned advanced git-ing because it's too much pain for little gain and i typically forgot everything by the time i'd actually need it. nowadays i only use the basics commands with the occasional cp -r.

with jj i get the gain with little pain.