News for hackers. Stuff that matters.
Re:What I Hate About Git by crazygringo on Saturday August 04, 2012 @09:08PM (#4340209)
Amen! I've felt like this for so long.

Ignoring the unnecessary parts about GitHub, he hits the nail right on the head with:

> Git doesn’t so much have a leaky abstraction as no abstraction. There is essentially no distinction between implementation detail and user interface. ...Its weakness is the complexity of simple tasks.

I swear, someone needs to invent a Git-wizard program. Interactive with a wizard-like interface, it will walk you through all the common kinds of tasks, even if they're fairly advanced, explaining all the ramifications along the way.

I haven't seen any programs like this -- all the GUI interfaces to git basically just translate to command-line commands, instead of trying to help you intelligently manage your workflow.

I don't think it would be easy to write a wizard interface like this -- it's a UI designer's worst nightmare -- but it would certainly help.

Re:What I Hate About Git by peeters on Saturday August 04, 2012 @11:12PM (#4340466)
> I swear, someone needs to invent a Git-wizard program. Interactive with a wizard-like interface, it will walk you through all the common kinds of tasks, even if they're fairly advanced, explaining all the ramifications along the way.

Sounds like a great idea for making one type of workflow easy. The great part about Git not having an abstraction is that it supports almost any workflow. You can choose what flow is right for your project.

Which is, by the way, why the documentation is not task-oriented, it's data-model oriented. The same command might be used for two completely different tasks in two different processes.

Other tools that aim to make the basics for committing easy do so at the expense of implicitly supporting only certain workflows. Think of something like Perforce. You don't enforce your process with Perforce, you choose your process so that it will work with Perforce.

Re:What I Hate About Git by crazygringo on Saturday August 04, 2012 @11:45PM (#4340515)
That's why I said it's a UI designer's worst nightmare.

Because there are a lot of different kinds of workflows, and I don't even know how you'd begin to organize them. I mean, maybe it's not even possible.

It would just be nice if it were more possible to "ease into" Git, rather than feel like you have to go through the equivalent of a college semester learning it.

Re:What I Hate About Git by saraid216 on Sunday August 05, 2012 @01:03AM (#4340647)
> That's why I said it's a UI designer's worst nightmare.

This is the point where I think it's appropriate to link another front page article: http://news.ycombinator.com/item?id=4338845

I've learned Git about the same way I've learned *nix systems and programming languages in general: piecemeal, a step at a time, on a largely need-to-know basis. It's been 4 years now and I feel like a complete novice, but I rarely need to do anything other than (1) synching local with remote repo, (2) committing a change, and (3) using a feature branch.

Re:What I Hate About Git by cshesse on Sunday August 05, 2012 @02:56AM (#4340827)
Then maybe there should be tools that use git to create a specific workflow. What I have now is a text file with all the git commands I need to follow the chosen workflow. I don't have that for any other command line tools I use.
Re:What I Hate About Git by einhverfr on Sunday August 05, 2012 @05:10AM (#4340994)
you mean bash scripts don't count? ;-)
Re:What I Hate About Git by rmc on Sunday August 05, 2012 @05:25AM (#4341026)
Just because something is very flexible and supports many ways of doing something doesn't mean it has good UI and doesn't mean it has good discoverability.
Re:What I Hate About Git by peeters on Sunday August 05, 2012 @11:55AM (#4341744)
I don't understand where you think I said it did. I specifically said it was a great idea to slap a better UI on git, but mentioned the caveat that to do a good job, the interface would have to be geared to a specific work flow.
Re:What I Hate About Git by dschobel on Saturday August 04, 2012 @09:15PM (#4340227)
Have you seen https://github.com/nvie/gitflow/ ?

It's a workflow level abstraction over git operations.

Re:What I Hate About Git by CognitiveLens on Sunday August 05, 2012 @12:40AM (#4340613)
Upvoted because git-flow does address many of the points in the OP, but it's also an opinionated add-on that pushes users toward a particular workflow model that may not suit all applications. In my usage of git-flow, I've found that I still need to be pretty comfortable with the "raw" git interface in order to effectively manage everything, so it also doesn't really get around the weaknesses of git itself.
Re:What I Hate About Git by elviejo on Sunday August 05, 2012 @12:40AM (#4340611)
Exactly I feel the same way... and when one dares to say that git is unfriendly the answer typically goes along the lines of: "...is because you don't study it enough..." so just another expression of RTFM.

But the mere fact that there are so many How-to's on Git is an indication that is not an easy to learn system. But it should be since is one of the basic tools of a programmer. Or for a car mechanic how many manuals are there on how to use a wrench? For a doctor how many books are there on how to use a stethoscope?

Re:What I Hate About Git by einhverfr on Sunday August 05, 2012 @05:15AM (#4341005)
As a counter-example, my great-grandfather, Morris William Travers, was the first director of the Indian Institute of Sciences in Bangalore and I gather that he said that he had to design the engineering curriculum there with a significant emphasis on learning how to use things like screw drivers and wrenches because the upper-caste Hindus were not familiar with these details of manual labor.

So I don't think that you can discount the cultural factors for our familiarity with hand tools. Certainly even in India, even in 1906, you wouldn't have had to teach a repair man how to use a wrench. But you would have to teach the engineering student. That's a bit of a humbling thought.

Re:What I Hate About Git by RasputinJones2 on Sunday August 05, 2012 @05:07AM (#4340990)
>>I swear, someone needs to invent a Git-wizard program. Interactive with a wizard-like interface, it will walk you through all the common kinds of tasks, even if they're fairly advanced, explaining all the ramifications along the way.

http://www.sourcetreeapp.com/