It’s also a UX nightmare. I work with tons of artists and engineers from the games and film industry.
Teaching git to an artist is painful. UIs work, till they invariably fall apart and then they’re confused again in the command line. Also most UIs can’t abstract the ideas to a good easy system.
Even a ton of very experienced engineers fall over when you touch rebasing etc…
Now people will say use Perforce. Well that has its own issues around branching/streaming and integration for code etc… plus you’re tied to their systems, and I’m not convinced their UX is great either, just better.
Plastic SCM seems to be the best so far but I haven’t really put it through the paces much.
Anyway I guess my point is: git is a fantastic technology marred with bad UX. It’s much like GIMP or Blender back in the day that had terrible UX as well, but have since improved greatly.
I’d love to see a rethink of the git UX at the UI level, that can guide even the most novice programmer through everything easily.
Edit: also I know invariably someone will say to make my own Ui instead of complaining. I’ve tried. I’ve done some novel things but it’s really hard to do from a top down level without also rethinking some of the base interaction model. That’s a battle I think needs a lot of effort across the stack first.