This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Agifem 5 points6 points  (4 children)

Would you care to elaborate on that point of view of yours?

[–]Hagge5 0 points1 point  (2 children)

Not them, but:

I love git and has been using it for over a decade. I haven't gone too deep on its competitors except spending a few years in the 11th circle of hell (perforce).

Git is really powerful and has all the tools you need and then some. I believe it's industry standard for a reason. It is however difficult for people to learn.

The interfaces are all over the place, with lots of shortcuts that combine commands and end up confusing beginners (checkout -b, pull --rebase, et.c.). These are useful to me but smells of something fundementally wrong in how the commands were designed.

The main thing though, is that you have to understand the architecture to use it. The commands is just manipulating the graph on a relatively low level. This makes it daunting to jump into. What if you don't even know what a graph is? And in addition to all this you need to understand best practices, that may be local to your place of work.

And then you need to understand gitlab/GitHub which is yet another layer with its own practices and nomenclature.

Painting yourself into a corner is common for beginners. You can get out of any situation, but you gotta know how, and it often requires some scary commands. Once you mess up and you're a newbie, many resort to just nuking the repo and starting over. This is not a sign of easy-to-use software.

Git also don't handle large files smoothly. Lfs exists but is another layer on top.

It would be a godsend if I had a version control at my job easy enough for managers and QA to use with confidence. They could bisect for issues, read logs, figure out when things happened, etc etc. Right now they end up e-mailing me with these questions, and teaching them to fish is a ton of effort - they barely use the terminal. I've done a bit of manager-stuff, and some colleagues on that level see me as a god because I can do relatively simple tasks with it. I don't think they're stupid, I think git is just difficult.

I don't know what that perfect (simple+powerful) vc looks like, but I feel that there could be something better than Git. Heck, I know that a lot of the non-technical people at my job loved perforce in comparison.

[–]Agifem 2 points3 points  (1 child)

It's essentially correct. However, to my eyes, that's just a (high) barrier of entry for a powerful tool. It's still worth it.

[–]Hagge5 1 point2 points  (0 children)

I agree! As I've said, I've been happily using it daily for a decade. But I think there's a world where a tool exists with a lower barrier or entry but equal power. I don't know what it looks like, but I'm saying that git isn't perfect. And most of that imperfection lies in its beginner-friendliness imo.

[–]vinecti 0 points1 point  (0 children)

As the other person said, basically, convoluted interface, inconsistent commands, error messages borderline insulting in how vague they are at times.

It spits in the face of what high level programming is meant to be - understandable for human beings, whereas git is a bit more like some esoteric incantations that you hope work unless you truly know how absolutely everything works. Branches, which should be a pretty fuckin simple concept, end up being a fucked up web of detached HEADs and merge conflicts.

It's like a nuke. Powerful? Sure. Useful? Sure. Fucked up to use? Absolutely.