GitHub for Mac: GitHub Without the Command Line

Git. If you hail from the US, perhaps you’re thinking of the word “get” being said with a southern accent. Or if you’re from the UK then maybe you’re thinking of the rather unpleasant slang term.

I don’t mean either. I’m talking about the distributed version control system called Git. Or more specifically, I’m speaking of the hosted version of that software known as GitHub.

What’s GitHub you ask? And why are we talking about it on Mac.AppStorm? Well, the answer to the fist question is a bit long, so if you’ll humor me, I’ll address the second question first: we’re discussing Git and GitHub because the fine folks at GitHub have released a Mac app. And that’s what we’re all about here at Mac.AppStorm. So before we dive into GitHub for Mac, allow me to briefly explain just what Git is in the first place.

What Is Git?

So what exactly is Git? Well, Git’s homepage describes it this way:

“Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.”

I suppose for some of our readers I would need to take a step back and explain what a version control system is. Essentially it tracks changes to versions of files — generally files related to computer programing — and then allows a person to manage those versions in different ways.

For a more in-depth explanation, I highly recommend Wikipedia’s extensive explanation.

GitHub for Mac

That brings us back to GitHub for Mac. Where does that come into all of this? Well, the part I left out in my explanation of Git is that the tool is used by a person strictly via a command line interface.

“Ok, so what’s the problem,” many might ask. Well, for the most part, the people who use version control systems are developers, the type of people who aren’t afraid of a command prompt and lots of text. But with the advent of sites like GitHub that make version control so easy, more and more less experienced developers have been making use of it.

The user base of GitHub has been expanding to encompass web designers and even graphic designers, people who are command line averse, but who understand and value the benefits of version control for their software development projects.

Enter GitHub for Mac. This is the tool for them, a GUI to Git. Let’s look a little closer at it.

The Interface

The Initial Repository View in GitHub for Mac

The Initial Repository View in GitHub for Mac

True to typical Mac form, the GitHub for Mac UI is beautifully polished. In the initial interface, a two paned Finder-esque view displays sources for repositories on the left and choices of repositories on the right.

Once you click on a repository, things start to get interesting.

A look at the repositories changelog.

A look at the repositories changelog.

Another view slides in very iOS like and we see a new series of options that tie into the management of a repository. On the left is a vertical navigation we have the commit log appears first, followed by the change log, the list of branches and the settings for the repository are at the bottom of the vertical list. On the right is the main content view which changes in conjunction with the navigation on the left.

All in all, GitHub for Mac’s user interface is quite clearly inspired by iOS user interface conventions, and considering Mac OS X 10.7 as well as 10.8 are as well, I think this is a smart, and forward-looking style choice on GitHub’s part.

The Feature Set

The nice thing about GitHub for Mac is that when it comes to features, it’s not lacking. Git itself is an extremely full-featured piece of software. And if you’re already familiar with it and all that it can do, then perhaps GitHub for Mac isn’t the tool for you.

That isn’t to say that anything essential is missing from GitHub for Mac. It has all of the essentials. Repository creation and cloning, change logs, commit management, branch creation, visual merging, I could go on.

The beauty of it all is that GitHub for Mac does a standup job of interpreting these features that are naturally expressed as a serious of obtuse commands in a terminal view into intuitive visual representations.

Verdict

For anyone who feels more at home in a command line interface, then GitHub for Mac probably isn’t for them. It doesn’t offer a GUI for every single option that Git has to offer. But it does allow for robust creation and management of Git repositories.

Anyone who is working in the web design or software development field today is at the very least familiar with Git, and it’s taking a lot of development teams by storm. If a command line scares you but your boss is telling you that using Git has just become a job requirement of yours, don’t fear. GitHub for Mac is here to the rescue offering the utility and flexibility of Git with the visual polish and ease-of-use that quality Mac apps are known for.


Summary

The official GitHub client for Mac. Clone repositories, branch code, commit changes; all without a single trip to the command line.

9
  • http://www.superfly.com/ zvikico

    SourceTree, which is available for free on the Mac App Store, is a much more feature rich alternative. Perhaps not as good looking, but it does offers almost anything you need to use git. Unlike GitHub for Mac, it is a true alternative to the command line interface.

  • http://berglundlabs.com Joakim Berglund

    I’ve been trying out different Git clients for OS X, but have come to the conclusion that SourceTree beats them all. It has just about everything you could ask for – as well as the tight integration with Git and BitBucket (easy cloning of repos etc).

  • Marc

    I believe that Git’s benefits are obvious for the people that already use it.
    Bu I’m an artist that is starting to make apps and would like to know what I would get by using it.
    This article (and wikipedia) explain a lot of features, but not so much benefits.

    Why would a beginner app developer start using Git?
    Could somebody be specific and explain in which case using Git would bring great benefits? Some specific examples would be greatly appreciated.
    Thank you, community :)

    • Chris

      If you look into web development, you will see that most Ruby (and node.js) apps are deployed via git.

      • Marc

        i take note :)

  • http://www.askanaddictioncounselor.com Todd Branston

    Awesome. I am going to download and play with it.

    Thanks for posting.

  • Filipe

    I love AppStorm (I follow 3 of the website’s feeds). But I keep reading things like “you’re” in place of “your” and vice-versa. You have another one here — “but you’re boss is telling you”. Please, don’t make me cringe every time I read one of your posts, as if I was reading Youtube comments.

  • Aleksi

    “Why would a beginner app developer start using Git?
    Could somebody be specific and explain in which case using Git would bring great benefits? Some specific examples would be greatly appreciated.”

    Well… let me try to explain
    1) In app development you might want to try to create new features in your app. You are not sure if it would be good or not, so what do you do? Copy old sources to another directory? Nope. You just create a new branch and name it experimental_test or something. Then you do your code stuff. If you notice that it is good, then you just merge your codes back to master branch. If those modifications suck, then you just remove that experimental branch and boom, you are back to working state.

    2) You can browse your history from log. You might think that hmm, when I have done this and that feature. You just look “git log” and search for it what you are looking for (of course you have to write yourself in logs that what have you done). It is your project history and it is sometimes very fun to just look how the project has gone and became what it has became.

    3) You can have “working version” and “development version” easily. You use normally your development branch and create stuff there. If you just need to show quickly WORKING version, you just switch to “working version” branch and show how does it look like and then you can switch back to “development version” branch and continue coding your new awesome features.

    4) No more accidentally “whoops! I overwritten important file where was my server configurations and also removed a file where was lots of code” because you can revert it back from version control.

    At least those features are good for beginners also. Those might sound hard but once you start to use git and git branches you notice that it is not hard at all but it helps you a lot.

    • Marc

      I’m now convinced that it’s a good practice I should get right from the beginning.
      Now I guess I just need to find some online guides to get started quickly.
      Thanks for taking the time, Aleksi :)

  • Iaian7

    I’ve used SourceTree and GitHub, but GitBox is easily the best I’ve ever tried. Not free, but worth every penny. It makes version management shockingly easy, especially for beginners, and pleasant for those of us sensitive about UI design! After having to use SVN via Versions at work, I didn’t think stable, reliable, or usable version control was possible. GitBox proved me, thankfully, utterly wrong.

    I still keep SourceTree around just in case there’s some esoteric command I need access to, but GitBox is what I use for 99% of my version management. Cannot recommend it highly enough. Even GitBox (a very simple and straight forward app) feels painfully convoluted by comparison.

  • http://nodegarden.net/ Mondo

    +1 for SourceTree. I tried Github’s mac app for a while trying to force acceptance, and its pretty, but too limited even with my n00b Git experience.

  • http://www.mariusmasalar.me Marius Masalar

    SourceTree is powerful and the fact that it’s free is a huge help, but from my own experience I would have to give the nod to Tower for best Git app on the Mac:

    http://www.git-tower.com/

    It feels and looks extremely polished, works quickly, is well designed for streamlining basic tasks. I think it’s one of those situations where everyone will depend on what works best for them, but as long as we’re mentioning alternatives, I figured I’d drop in a good word for Tower. Have a look if you’re ever interested in trying out a solid Git tool. :)

  • Bryn

    I am amazed that this sorry app has been given such a high rating. Yes it looks beautiful, but is that the only thing that matters? None of the views refresh when you want them to.

    Maybe it’s just me but if I add a line to .gitignore through the github for mac Gui, I’d expect the list of changed files to update to reflect the new ignore entries, but no. Nothing I try can get that screen to refresh. Make some changes that are somehow visible in the changes screen, then hop back the the repository list – does it show uncommitted changes against your repository? No. You’re going to have to close and reopen the app for that.

    Worst of all, take a look at the branches view. Now what happens if I double click one of the other branches, does it show me what’s in it? No, it checks it out. But wait, I had uncommitted changes in my other branch! Tough. They’re gone. Irrecoverably. No warnings, nothing. You’re going to need Time Machine to get those back.

    Avoid.

theatre-aglow
theatre-aglow
theatre-aglow
theatre-aglow