@hntooter I thought it was just going to be whining, but it's constructive criticism, if a bit long.

TL;DR:

1. Staging area is a confusing power user feature.

I think this is pretty uncontroversial and # agrees.

2. Branch juggling is a leaky abstraction and people are confused by remote remote references, local remote references and local local references. Yes. I remember being quite confused by this back in the day when I used #, which had a sort of similar issue.

This is a bit more controversial. I use multiple worktrees a lot, but flipping branches is also really powerful and useful. It's not obvious what's a better model.

But I do work with detached HEADs a lot because yeah, being forced to name things is indeed a hassle.

3. GitHub, and its clones (yes.) GitLab and BitBucket, have a lack of granularity. To get write access without getting full commit bits, you need to do a clone on the host. Private namespaces in the same conceptual repo is a really good idea. # kindasorta has this, but what it really does is give a lot of people commit bits and then use social norms to keep things tidy.