this post was submitted on 09 Nov 2023
1254 points (98.4% liked)

Programmer Humor

32000 readers
1744 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 21 points 10 months ago* (last edited 10 months ago) (2 children)

Git is a great invention but it has a few design flaws. There are too many ways to confuse it or break it, using commands that look correct, or just forgetting something. I ended up writing simple wrapper script codebase to fix it. Since then no problems.

[–] [email protected] 17 points 10 months ago (3 children)

It was conceived for experts so the new user experience is shit and the UI is not intuitive. But it has become such a widespread standard that it is very hard to completely overhaul the UI.

[–] [email protected] 9 points 10 months ago (1 children)

TBH compared to the old versioning system people used to use like SVN and Mercurial. Git is a godsend. Just taking your time in learning and not using a GUI client works wonders in learning how it works. Especially when all the GUI clients are basically a collection of commands being executed so if you fuck things up on CLI you know what happened vs using GUI.

[–] [email protected] 1 points 10 months ago

I'm pretty sure Mercurial is newer than git, or at least from the same generation.

[–] [email protected] 3 points 10 months ago (1 children)

Even for experts the user experience is shit. Too much has to be done manually when the default should be automatic, like fetching before pull, recursing when working with repos that use submodules, allowing mismatched casing on case insensitive filesystems, etc.

[–] [email protected] 2 points 10 months ago

Submodule commands are such mess, which is sad because it is a great feature.

[–] [email protected] 2 points 10 months ago

Yes you couldn't change something so widely used. Look what happened with python 3.

Fortunately there's already a tradition among Git users of building a UI on top of the git UI. My project is just a slightly better version of those. It lays a simple sensible interface on top of the chaotic Git interface.

[–] [email protected] 1 points 10 months ago

Yeah. It's got no abstraction between the UI and the implementation. You just want to manage code versions, but to use Git, you need to learn how to manage history graphs.