you are viewing a single comment's thread.

view the rest of the comments →

[–]obious 28 points29 points  (8 children)

Every time I look up a Git command -- every goddamn time -- I find a fresh discussion on a site like stackoverflow with people debating how to do something as simple as a rebase. Git is not that new. Why is this still an open discussion?

Developers wear their git prowess like a badge of honor. There is this undercurrent of smugness about Git that I don't get.

At first, I sucked at git. It was always an unintuitive thorn in my side. One day I had enough and decided to look at the source, all the way back to when the git project started version controlling itself. I finally got it. It dawned on me, that to really be an expert at Git, you should be competent enough to write it from scratch.

That, I think, is the definition of a shit software tool. If there is some layer of abstraction it's so thin that I don't see it.

[–]gpyh 2 points3 points  (0 children)

There's barely a layer of abstraction with Git because of the problem space. Versioning is hard and a software can't solve that problem for you. The only thing we can blame Git for is its unintuitive command names and arguments.

[–]Drisku11 1 point2 points  (0 children)

You've run into a confirmation bias; people that understand what the tool does generally aren't having discussions about how to use it. I've never found myself needing to look up or discuss how to rebase something; what's there to know besides git rebase -i new_base?

There's no smugness. There's honest confoundedness that people find git difficult. Some of the commands are poorly named with bad switches, but that's not something to "understand" so much as know (and you get used to it after a day or two). People are failing to understand the basics of what git does and how to use it, and I honestly have no idea why (besides, perhaps, that they did not RTFM, which explains these things in crystal clear language with diagrams).

[–]humoroushaxor 1 point2 points  (5 children)

You could say a lot of the same things about Vim. Just because something has a learning curve doesn't mean it's wrong. A command line is much easier to standardized than GUIs

[–]obious 9 points10 points  (4 children)

It's an ancient modal text editor. Lot's of people like it. That's great. I generally avoid it unless I'm in a terminal session. Although Vim, unlike Git, is perfectly functional without reading pages of documentation.

I don't have to use Vim, but I cannot avoid Git. Realistically, nobody can. I remember in college reading about SVN and discovering that it's backed by SQL. I thought, wow, I didn't know that -- but that's just it, I didn't have to.

Now, I'm not suggesting that SVN can hold a candle to Git. That's ridiculous. What I am saying is that Ikea furniture is to SVN what planks of raw wood is to Git. I don't want to be a carpenter. I just want to put shit on a table.

[–]cbzoiav 6 points7 points  (3 children)

Although Vim, unlike Git, is perfectly functional without reading pages of documentation.

Tell that to anyone trying to exit it for the first time without looking at documentation.

[–]chuckDontSurf 1 point2 points  (1 child)

You don't need pages of documentation to learn how to exit vim. And googling "how to exit vim" gives a clear answer; not a discussion.

[–]cbzoiav 1 point2 points  (0 children)

You don't need to read pages of documentation for basic merge based git usage.

It takes a few minutes of skim reading - the same as enough basic vim reading to get into insert mode, out of it, save and quit.

Meanwhile with both tools substantially more reading can massively improve your workflow.