Live data from Hacker News

Things I hate about Git (2012)

stevebennett.me

41–50 of 83 posts

Re: Things I hate about Git (2012)

#41
I'd like git to be aware of the grammar of the files it's diffing and merging.

It could use neural network for this for all I care. Anything but merging lines as if they contained completely meaningless string of characters.

Re: Things I hate about Git (2012)

#42

"it's complicated": yes,it is. it's a product designed and built for people who deal with complex systems and information models on a daily basis; they're the equivalent of a professional pilot... not your feeble, senile grandmother. You wouldn't buy your feeble senile grandmother a 787, chuck her in with no training and simple expect her to fly to Bali, would you? "I don't like it and here's a heap of examples which…

There are two categories of possible criticisms: the model, and the implementation. Fixing the implementation means changing code, improving APIs (e.g. local/remote branch delete). Fixing the model means finding an everything different system. Yes, a graph-based VCS more complicated than a linear one. But it also matches realities of collaborative software development. And reality is complicated. As you might guess,…

My problem is not the theory. That's easy to learn.

My problem is implementation.

Re: Things I hate about Git (2012)

#43
post #4

Earlier quoted context omitted.

Is hg easier to use? Or any other DVCS not created by such a bad UX practitioner?

For simple workflows (and certainly for beginners), hg is far easier to use than git. However when it comes to advanced usage, I personally find git more intuitive and frankly more powerful. Granted, I learned git first and had been using it for 6 years before using hg.

Search results for "how do I branch in Mercurial" always seem to lead to elaborate tutorials that suggest repo clones or bookmarks or numbered anonymous heads or smuggling diffs outside the commit graph using an extension. If the simple use cases don't include branching, that seems like a big problem for a DVCS.

Re: Things I hate about Git (2012)

#44

I've been using git for 7 years now. Never used anything else for version control (besides visual source safe which I try to forget). Never felt the need or desire to try anything else.

If I could downvote one comment it'd be yours.

And why is that?

Re: Things I hate about Git (2012)

#46

The man pages are one almighty “fuck you”. And there are people I've wanted to strangle for telling me: RTFM. The examples in this article are the crowning example of why their painful death would be well-deserved. There's this thing about bedside manner that technically adept people need to cultivate, just as doctors do. Did I mention I despise cold, snotty doctors too? There's nothing worse than a condescending pri…

Hey there, in reading your comment I feel like you are trying to make some good points, but you're getting downvoted heavily because of the tone and language you're using. Your language feels really personal and negative, like you decided just to go off on a rant. That's generally discouraged on HN - but there are always exceptions, especially if it's a topic or moment in time when a rant is actually called for.

The best thing in your comment is this sentence:

There's this thing about bedside manner that technically adept people need to cultivate, just as doctors do.

That's a well-put sentence, plus, I feel like you're on to something. I feel the same way, incidentally. I don't think it's productive or collegial to tell someone to "RTFM" or "use Google". If you're struggling with something right in that moment, the best thing to do is show some kindness and empathy and sit down and help. Then, once the problem is resolved, that's the moment where you can "teach a man to fish".

You seem like you have a talent for writing and your vocabulary and prose are quite good - just rework the tone and omit the profanity and you'll see some upvotes.

Re: Things I hate about Git (2012)

#47

Git is pretty difficult to learn, but the customizations it allows are amazing. To get a "fancy oneline log" output, add the following to your `~/.gitconfig` [alias] ll = log --graph --oneline --decorate --date=short --all --pretty=format:'%ad %h %Cgreen%an %Cred%d %Creset%s' then run git ll It's great when rebasing your way out of spaghetti-commitlog situations.

I believe --oneline and --decorate (and possibly --date=short as well) are redundant when specified with --pretty=format.

I personally have this in my ~/.config/git/config:

    [alias]
        lg = log --graph --pretty=format:'%C(auto)%h%d %s %Cgreen(%ar) %C(bold blue)%Creset'

Re: Things I hate about Git (2012)

#49

Once you get the essence of git (objects, graph, commits as snapshots etc) everything becomes really easy. You don't need to memorize all command just need to understand some basic concepts. And some points about the article. Git is a framework actually, you need some workflow to use it in a team. So git requires a lot of discipline from all team members. You can't just "commit" as in subversion, you must understand…

One resource I've found pretty useful for understanding git is http://think-like-a-git.net/ (also linked at the end of the article). It basically describes git in terms of a directed acyclic graph, where branches/tags give you starting points into the underlying DAG, and the various commands allow you to perform manipulations on it. Once I started thinking about it this way, it made a lot more sense.

That said, the command line UI really is infuriating - checkout means 3 different things depending on what the argument is, it's never clear to me whether I should be using "origin master" or "origin/master," etc. I'm also not entirely sold on the usefulness of the index, but perhaps that's cause I'm still new to using git.

Re: Things I hate about Git (2012)

#50

I'd like git to be aware of the grammar of the files it's diffing and merging. It could use neural network for this for all I care. Anything but merging lines as if they contained completely meaningless string of characters.

Hi. Thanks for downvote. Although pointing me to some smart mergetool would be even more appreciated.
Post reply on HN