this post was submitted on 09 Nov 2023
1260 points (98.2% liked)

Programmer Humor

32472 readers
769 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
[–] roastpotatothief@lemmy.ml 21 points 1 year ago* (last edited 1 year 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.

[–] oce@jlai.lu 17 points 1 year 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.

[–] sheogorath@lemmy.world 9 points 1 year 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.

[–] lolcatnip@reddthat.com 1 points 1 year ago

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

[–] Pxtl@lemmy.ca 3 points 1 year 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.

[–] oce@jlai.lu 2 points 1 year ago

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

[–] roastpotatothief@lemmy.ml 2 points 1 year 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.

[–] Shhalahr@beehaw.org 1 points 1 year 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.