What is the best GUI on OSX for viewing a repository, and (optionally) manipulating it?
@warren_s is right, in a sense. There doesn't really exist a nice, standalone application (like Versions for svn). Your best bet at this point is to get comfy in terminal.
Alternatively: use github.com (at least for viewing).
git-gui
is bundled with git and should be exactly what you you're looking for. (gitk
is an older app that isn't as functional or pretty.)
It's a Tcl/Tk app, so you may need to install some frameworks: http://tcltkaqua.sourceforge.net/
Having said all of this, I just use the command line too :)
But this GUI is great for getting the hang of things before the cmdline options become familiar.
Update some 18 months later.
These days I use Gitx for basic branch viewing and committing, and the command line for more complex tasks. I wrote this answer after just starting to use Git, and never actually used git-gui
personally; at the time it answered the question, that's all.
If you are using git-gui, you might also find this project useful. It allows you to open git-gui on a location from the finder. Also, I would say that if you don't have a lot of experience with git, you should learn the command line stuff, as that will let you really get to know the ins and outs of git.
I really like the git package for Textmate, but the best place to work with git is really the terminal.
There are two fairly popular ones. Both have a good deal of "pretty" to them, too :). I've used gitx occasionally, and never really used gitnub. If you care, both are pretty easy to compile, and I've included the git clone
commands for each below.
gitx:
Homepage: http://gitx.frim.nl/
gitx on Github: http://github.com/pieter/gitx/tree/master
Git clone command: git clone git://github.com/pieter/gitx.git
gitnub:
Homepage (and github wiki): http://wiki.github.com/Caged/gitnub
Git clone command: git clone git://github.com/Caged/gitnub.git
I found out that there is a new Java based client, SmartGit, on the horizont.
Good suggestions above, I would like to add to this also:
http://engineeredweb.com/blog/10/2/smartgit-best-git-gui-so-far
http://cola.tuxfamily.org/
https://git.wiki.kernel.org/index.php/MSysGit:GitCheetah#Git-Cheetah
Edit: there are also IDE's where there may be, or lacking git integration, what are your opinions on these?
Eclipse uses EGit (based on JGit, rumored not to be 100% git-compatible and a bit buggy) IntelliJ Idea git integration I have heard very good things about
Anyway, it is a very crucial issue, and I'd like to see it in general, not only for OS X (maybe there is on SO?). Edit: I've found these related issues:
http://stackoverflow.com/questions/1516720/git-gui-client-for-linux
http://stackoverflow.com/questions/2141611/a-pretty-and-feature-rich-git-gui-for-linux
http://stackoverflow.com/questions/157476/what-guis-exist-for-git-on-windows
http://stackoverflow.com/questions/102102/are-there-any-good-cross-platform-mac-win32-nix-git-gui-clients
Last time I tried TortoiseGit (on Windows, of course) it was a terribly broken attempt at porting TortoiseSVN.
Nowhere have I really seen anything embracing reasonably normal (some call them "advanced") workflow steps like merge, rebase, diff, log and graph log all in the same GUI. I.e. I haven't yet found a GUI comprehensive enough to recommend to collegues wanting an alternative to learning to use git from the commandline.
Go on, bring in the flames.
Gity ( http://macendeavor.com/gity ) became opensource yesterday... I think i cost 20$ before.
Probably Gity is one of the best open-source git-guis available.
I use brotherbard's fork of GitX. So far it has served me well and has more features and UI than the latest stable build of the official GitX.
I downloaded SmartGit from the above link provided by BastiBense and it works on my Mac OSX. I got the SmartGit version 1.5 and it is showing me the comparison views similar to Beyond and Compare on Windows.
For those of you who are comfortable using the command line for complex tasks, but would like to have an elegant UI for the commands you spend 90% of your time using (add, commit, branch, push, pull).
I use GitX for staging, since you can stage single lines of codes very easily. You do not have to stage all changes from a single file. I use this feature alot.
Other than that i use the commandline aswell.
Better than Gitx: a gitx fork -> http://github.com/brotherbard/gitx
Another vote for GitX, although I installed a more experimental fork, Brotherbard's GitX fork at GitHub, which had more features than Pieter's original version (NB, these might have be pulled back into the original branch, please verify).