Hacker News new | past | comments | ask | show | jobs | submit login
GitHub for Mac 1.1 (github.com)
164 points by joshaber on Nov 23, 2011 | hide | past | web | favorite | 61 comments

Looks like a great update (line-by-line committing ftw). I mainly use GitX for git GUI duties, but this looks like it's ready to replace GitX.

It's very handy to be able to switch between projects easily from within the app, and the direct GitHub integration is icing on the cake. The only not-awesome thing I noticed is some general lag and flickering, but hopefully that'll get worked out soon. The team at GitHub is doing some fantastic work.

This is definitely a great update and it's getting close, but for me this still can't replace gitx. I absolutely need something that can show a tree-view version of the repo branches. Even the CLI can do this. The web UI has the network graph view which is ok but not great since it doesn't really show branching.

It's so tempting to use a list-view because it looks nice and simple, is easy to implement and it hides complexity. The problem is that I need a view into that complexity to use git. The git model is a tree (or graph even) and to not display it that way just makes things harder.

I think what gitx has is still the best.

I like the simplicity of Github for Mac. It's a very clean interface. Still, it feels like it's designed for an iPhone screen, not a computer screen. I've been enjoying SourceTree* recently because it shows more on one screen--seems like a good package for when you outgrow Github for Mac.

* http://www.sourcetreeapp.com/

I didn't realize how many different Git GUI clients there are on Mac OS:

- http://www.gitboxapp.com/ - http://www.git-tower.com/ - http://gitx.frim.nl/ - http://www.sourcetreeapp.com/

in addition to Github for Mac.

Two annoying things I noticed:

* Spelling correction in commit messages. * Option-Z commits instead of undos when entering a commit message.

> Option-Z commits instead of undos when entering a commit message.

Cmd-z. Opt-z types ohm: Ω.

I wonder why they did that.

That's omega, which is used as a symbol for ohms. It's also [and originally] the last letter in the Greek alphabet.

Also, Ohms measure impedance, and an impedance value is noted Z.

Most of the alt/alt+shift combinations on the Mac keyboard layout make sense.

I see, thanks. I originally wrote omega (I knew it was the last letter, alpha/omega and such), but changed it after checking the character viewer in OS X, which called it an ohm.

Capital letter omega is U+3A9: Ω

Ohm sign is U+2126: Ω

They probably look identical in most (if not all) fonts, but they're treated as two separate characters in Unicode.

I wrote a simple plugin for Sublime Text that opens the GitHub app and it's been working quite well as a replacement for Textmate & Git bundle.

There's been a few rare times where I've had to drop back to command line because of crashes, but I'm glad to see it's being maintained and updated.

Mind making your plugin publicly available?

Done. https://github.com/csytan/sublime-text-2-github

Funny how writing the documentation took the same amount of time as writing the code for this. :)

They added line by line committing!

That is awesome, I've been using citool for that forever, even though it's ugly on a Mac. (Along with diffing, commit surgery is one of the few tasks where a GUI really scores big).

Check out GitX, it has supported this for a while.

I'm a big fan of the GitHub for Mac GUI, I still have to drop down to the terminal to handle a few specific commands (especially when the GUI gets stuck in a merge conflict loop), but it helps me quickly handle stuff and thumb through local repos, especially helping me visualize stuff.

One thing I've noticed is that GitHub's web interface often misrepresents the number of branches we have. The number count is correct, but master is the only branch visible. And it only seems to happen after merges with the GUI...

On the website, we only show you branches with unique commits. So if you merge a branch, it won't appear. This kind of sucks, but that page will get better with time.

The interface certainly does look good, but man, I miss some consistency in navigation! And is it so hard to have mouse free control for application that is essentially GIT client?

Why would you expect "mouse-free control" for an application whose user experience is fundamentally designed around a pointer?

Of course, GitHub for Mac should leverage Mac OS X's Accessibility infrastructure so it works with assistive technologies like VoiceOver and full keyboard control (I hope it does!) but I suspect from your comment that's not what you're looking for.

If you don't want to use a mouse, why not just stick with cli? It doesn't require a mouse and can do everything any gui can do and more.

Great stuff, but I'm just too addicted to Magit on Emacs. It's a great luxury to never have to switch out of your editor.

I tried GitHub for Mac, but find that a combination of command line git and Tower for line-by-line committing works best.

And I'm being downvoted because some people here feel that a link to one application shouldn't have comments recommending another?

Is there anything like this, but for linux?

They are not GitHub GUI clients, but I like git-cola for preparing commits and Giggle for viewing revision history.

LWN article about Giggle: https://lwn.net/Articles/390422/


If you are into Emacs, magit is rather awesome. Yes, it can do line-by-line commits (you can commit highlighted text).

The closest thing I can think of is the GitX clone gitg.

Line Committing is a killer feature. Right now, I force myself to check in code for the smallest change because I want my commit to reflect a meaningful change. I could certainly save a lot of time if I had the flexibility to make bunch of changes in the file and then commit them in separate hunks.

You can already from the command line! git add -p (short for --patch) will let you individual hunks of a file to the staging area.

GitX supports that. I mainly use the command line for working with git, but I use GitX for committing because it has a great UI for seeing diffs and staging individual chunks.

You've always been able to do that via the command line (`git add -p <file>`) but it's definitely great to see it in a more user friendly form.

Sort of. -p considers consecutive lines a single hunk. Often, that's not what I want. Luckily, there is magit: http://philjackson.github.com/magit/

You can split the hunks into smaller ones.

You can split hunks until they're consecutive lines. You can't split more granularly than that with -p. You'd need to edit the patch, either directly or with git gui or similar.

And you can also edit the patch manually.

I resisted the edit option of git-add -p for a long time because I was afraid of messing something up with a low level tool... big mistake! So easy to use!

Plus if you make a patch that doesn't apply it will just error out and you can try again. And if you add anything extra by mistake you can easily back it out with something like git reset HEAD <file> or git reset -p

Yes, I am aware of git add -p but if you deal file with 500 lines of code, it's easier to have a UI to select lines you want to commit.

By the way, is it possible to have git add -p show uncommitted files, like darcs does?

Not directly, but you can use git add -p for that. Although I don't think you get to review it first.

If you use emacs, magit-mode is great for this.


[shameless plug] http://git-cola.github.com/ can do by-line and by-hunk editing of both the index and work tree. It's had this feature since early 2008 ;-)

I find it easier to do it with a GUI vs. with `git add -p`.

There is also "git add -i" for that.

Sorry the stupid question, but: does this work with any git repo or this app is exclusively for github?

This works with any git repo. I've been using it with my personal git repos on my own server since the first release.

It works best with GitHub repositories, but you can use it for basic git commands with any git repository.

I'm not sure that it supports pushing to/pulling from anything except GitHub, so you might still need GitX/Terminal.app for that. I can't swear to this, though.

Great update, I love the line-by-line committing. One thing that would sell me on this app, though, is having an interface for repo issues. Without that, this is more of a "Git for mac" than a "GitHub for mac", in my opinion.

Keep up the great work guys!

The speed improvements are immediately noticeable and make a world of difference!

I've been using sourcetree lately, really, really enjoying it - though line committing is pretty cool, I have apps hosted in places other than github though.

Github for Mac actually works with any remote repository. The link to Github is superficial.

sourcetree has line committing, when in commit/diff view drag on the lines you want and right click, you can commit only a few lines, even if they are only part of a hunk.

I am a designer but I use Tower for mac for when I commit my code to the repository. Anyone know if I am missing out on something with GitHub?

From what I've seen, not really. GitHub.app saves you from needing to know what staging, push, pull, fetch are. If you're already productive with Tower then I think going to GitHub.app would be like putting the training wheels back on.

which would you recommend for a designer to use as an intro to Git and source control in general? I'm trying to get my partner into git to collaborate with me. Is this client still just as easy when using it on a non github repo? or is its integration with github its main drawcard?

I recommend Tower for designers, and SourceTree for developers. The github client has nice integration with github, but it is not as well-designed as Tower and not as powerful and workflow-efficient as SourceTree, IMO.

It would be nice if it handled issues. Their iphone app does that, but nothing else ... so one wonders whether they could combine the two.

Now I want a mac

download link http://mac.github.com/

Version 1.1 is crashing like a pig on Snow Leopard for me. This instability looks chronic; Ground Control to Major Tom.

My mistake appears to be adding a repo that lives in a Windows 7 Parallels VM, something that Git Tower handles reliably with ease.

EDIT: two application force-quits and restarts later, it's working better. My crime may have been dragging a bunch of repos into the application window. There's no progress indication, buy Github Mac 1.1 may have been background processing and therefore seeming hung? Who knows. It's better now.

Registration is open for Startup School 2019. Classes start July 22nd.

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