Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Git's problem is shit like "checkout -b".

That's why the added `git-switch` lately.

For the rest, I would agree. Git is at its core technically "simple". But the CLI UX is quite, let's call it, involved.

I think there are two primary reasons for that: Git is a very interactive tool. That just doesn't go well with a UI which is fundamentally a line printer.

OTOH Git is very powerful. Most GUIs (or TUIs) can't "handle" this well, imho.

Git is "feature overkill". On the command line this doesn't matter much as you never see all features and options at once—besides of course that nobody can remember all those switches. ;-)

But when creating GUIs, which are better in the interactivity dimension, this becomes a real hurdle. Basically you have only the options to hide things and dumb-down your tool or end up with a overloaded and therefore quite complex GUI. Really hard to strike a balance.

The best I've seen so far regarding Git GUIs was Sublime Merge. It also hides much things at first sight but manages to not lock away Git's power by doing so. A lot of features are contextual. Also you have an "intelligent" command palette at your disposal. This matches nicely with the interactivity of Git! Also the GUI is strongly inspired by the look & feel of Git's command line output.

Sublime Merge feels for those reasons in large parts like if the command line tool would be "projected" into a GUI (which is convenient as the CLI output is already quite optimized to see everything relevant quickly), but given the GUI one does not need to remember the awkward command line flags.

Git on the command line should be more like that I guess. At least a kind of build-in REPL would be good as Git is interactive not "batchy".

I know there is a "git-repl", but it's not really what I imagine. It's not really context sensitive or interactive.

"Magit" looks good from far away, or at least heading in the right direction, but it only runs under EMACS.

If there would be something like Sublime Merge for the command line (and maybe even available OOTB) this could solve quite some of Git's usability problems I think.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: