To get my projects over to GitHub I used the command line version of Git for Mac OS X which I installed long ago to access (clone) things like PhoneGap (btw, on Win XP I’ve used msysgit – Git for Windows). However, last week I made my first attempt at pushing anything up to GitHub instead of cloning down from it. I muddled through the git command line, but am still looking for a nice UI client on Mac OS X and Windows.
I’ll admit that I’m finding it nearly a necessity to start with the git command line so that I better understand the underlying concepts. Sometimes the best way to learn a technology is to dig a few holes and struggle back out. Likewise, it seems like there are some edge cases and corners with version control systems that require the command line (and StackOverflow.com and Google and nerves of steel). Meanwhile, I’m tracking a few tools for the Mac to increase my productivity with git for routine things.
The most promising apps for me are SourceTree and Tower (naturally the most expensive ones too). Tower has some nicer overall polish, but SourceTree has a views I like better and seems to regularly improve with use (and across releases).
I’m on Day 6 of a 30 day trial of Tower and like that it supports git and svn, integrates with many other client tools (e.g., with Coda, Kaleidoscope TextMate, etc.) and is super easy to configure for either GitHub or Beanstalk back-end repositories. With SourceTree, I’m understanding git better and seeing things more clearly, but missing some of the polish back-end integration seen in Tower.
Git Client Apps for Mac OS X
Here’s a run down of some options and links for those on the Mac App Store. There is a good response by Mason on StackOverflow that runs down pros and cons of a few of these tools. I too didn’t care much for the cross-platform-y compromises of SmartGit, but some may like it. Here what I consider some Mac OS X contenders:
- GitX [Free - under GPL v2 License]
Project started in 2008, nice history/log view that you can use interactively, good video demos .
- Sprout [Mac App Store $28.99 during 15% off sale on now]
Single window view supports multiple git repositories
- Gitbox [Mac App Store $39.99]
Single window view supports multiple git repositories. Developer web site offers download of Free trial version that supports up to 3 repositories.
- Gitti [currently beta is free]
Some nice hints and warnings. Still beta, but looks promising.
- SourceTree [Mac App Store $59.99]
Very powerful views- File status shows you at a glance what has been changed or not (or is missing), Log view is a wonderful way to show branches, commits, who did the commit and highlight the file diffs. Cloning from remote works with ssh URL or http/https. Developer web site offers download of Free 21-day trial version.
- Tower [developer site $59]
Really nice integration with both GitHub and Beanstalk. Easily create local repository or a new repository hosted on Beanstalk or GitHub. Cloning from remote works with ssh URL or http/https. App icon in dock shows badge with number of changed files in active repository. Developer web site offers download of Free 30-day trial version that works with up to 3 repositories concurrently.
For a git UI client, I may end-up sticking with GitX for a while though, because it is free. If I can justify the expense, I’ll likely go with SourceTree or Tower, depending on CFO approval and/or any pricing specials. My next post will address git and svn viewers on iOS for the iPhone and iPad.