When I first fired this up, I made a tarball of one of the repos I'm currently working in (it has uncommitted changes) and started clicking around. I'd do something in the GitHub app, then go back to my bash prompt to see what happened. I was pretty confused when I switched branches and all my changes were gone. Then I went back and read the blog post. It auto-stashes when you switch branches. I also wondered what the heck the "Synchronize" button does, so once again, I referred to the blog post. It performs what they call a "smarter version of pull --rebase && push that reduces merge commits but doesn't rewrite your merges". Oh, really?
At that point I realized that GitHub has done the hard thing. They haven't re-created the git CLI tool in a GUI, they've created something different. They've created a tool that makes Git more accessible. Little things like auto-stashing when you switch branches will confuse git veterans, but it will make Git much easier to grok for newcomers because of the assumptions it makes about your git workflow.
I see great things in this app's future. It's probably not for everyone. If you're a proficient git cli user, and you like it that way, then you're probably best off sticking with what you've got. Maybe explore some of the more traditional Git GUI clients like GitK or GitX, but keep in mind, that's not what this is.
I'm mostly discussing GUI trends (as a Mac developer who cares about this stuff), using GitHub as an example (which, as you say, gets job done great, but I say that it can be improved).
Clutter means (let me open the dictionary) "a collection of things lying about in an untidy mass".
I never said only spacing produces clutter. Either I'm not explaining myself clearly or you read something that was not in my comment (this is called a strawman, right?)
No hostility meant by "you argue". You provided a critique, an argument. I'd open the dictionary... ;)
His posts were completely non-hostile, so aren't you overreacting?
The rest of my reply was pointing out how I perceived this to be different than GitX, which was tangential to the point, but I didn't really think a separate reply was required. Sorry for the confusion.
Everyone I know uses a different fork, much to my dismay.
Notably, SourceTree (what mainly use) and Tower (if the incomprehensible one-repo-at-a-time limit isn't a dealbreaker) now compare favorably to gitx in most ways.
So I don't recommend gitx anymore, but from what I hear Gitx (L) is a fairly active and popular fork:
I use GitX for committing and browsing and the command line for the rest. None of the GUIs have blown me away yet, but deep GH integration is a big plus for me so GH for Mac might join my workflow.
Git seems to have broken down the social contracts around forking that kept most opensource projects cohesive. Unless the project has a great deal or inertia, it is difficult to remain the canonical source, and the project effectively disperses.
If you think about it, this is basically 1) a marketing problem and 2) would be solved instantly should GitHub introduce a better 'network' visualization.
- Projects should be top-level in the github namespace, not people.
- Forks should live underneath their source project, and should not be top-level projects themselves.