High-Level Problems with Git and How to Fix Them
https://gregoryszorc.com/blog/2017/12/11/high-level-problems-with-git-and-how-to-fix-them/
(submitted by jordigh)
- Hallå Kitteh repeated this.
-
@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 #gitless 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 #svk, 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. #gitssb 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.