Quick Tip: First Look at the “Git Tower” GUI
videos

Quick Tip: First Look at the “Git Tower” GUI

Tutorial Details
  • Topic: Git
  • Difficulty: N/A
  • OS: Mac-exclusive

Newly available in Public Beta (currently), Git Tower is a Mac app, built in Cocoa, that provides a GUI for working with the Git version control system. One of the most frequently asked questions on Nettuts+ is, “What’s the best GUI for working with Git?” It’s no wonder: Git can be incredibly confusing at first. In today’s video quick tip, we’ll take a first look at this new app.

Git Tower

Conclusion

So what do you think? I’m curious to hear how Git newbs view this app, as opposed to seasoned veterans? To the latter, do you see any advantages to using a GUI? Thanks for watching!

Note: Want to add some source code? Type <pre><code> before it and </code></pre> after it. Find out more
  • http://erikreagan.com Erik Reagan

    I’ve tried every Mac Git GUI to date and this one finally fits what I was looking for. I’ve been using Terminal since starting with Git basically because there wasn’t an app I liked enough to use. Essentially I wanted a “Versions App for Git” and Tower fits that bill. I’ve been using it for a few days now and will likely continue to use it away from Terminal simply because it is a pleasant experience.

  • http://shaneparkerphoto.com Shane Parker

    I currently use Beanstalk for online version control. Are there reasons that Git would be better or just because it’s free? I first strayed away from it when looking for version control because of the learning curve.

    • http://tinyfly.com Jeff Adams

      Beanstalk is a web site that hosts your repositories. They used to only allow Subversion, which I’m guessing you’re using, but now they also allow Git repositories. You can switch to Git yet still stay with Beanstalk.

      Tower really eases the pains of learning Git.

  • http://www.gotwebsites.co.uk James

    I’m pretty new to Git (I’ve read the getting good with git ebook and watched the video tutorials from here) and this is the first Git client I’ve used so I don’t really have anything to compare it with but so far I like it and would definitely consider buying it depending on the price.

  • http://laroouse.com piyansitll

    yav ne olacak bu galatasarayın hali gitti renksi bir takıma yenildi

  • Tom

    To revert you go to the “Browse” tab, right click the file and select “Revert ‘filename.ext’ to Revision…”

    Note: You have to go to the “History” tab and get the SHA hash of the revision of the commit you want to revert TO. That is used to identify the revision you want to go to when you right click and revert in Browse.

    • http://net.tutsplus.com Jeffrey Way

      Ahh, there it is. I was looking for that. Thanks, Tom!

      Still, I think it’d be easier, if they added a right-click option from within the History commits area.

      • Tom

        I agree. Also, they should ACTIVATE the revert button in the toolbar. If they do that they should present you with a list of all changes with that file in an intuitive interface for you to choose from rather than having to pop over to the history side, copy the SHA hash, go back to the browse side and have to paste it in. It’s beta though. I’m sure they will iron out some of those usability issues.

      • http://www.git-tower.com Tobias Günther

        We’ll be adding the right-click option to revert / reset a commit in the near future!

      • http://www.jeffrey-way.com Jeffrey Way
        Author

        Sweet!

  • Joaquin Brenner

    Awesome!
    I have no problem at all working with in the terminal but it just feels nicer with tower, already taking it out for a ride.

  • http://www.bramjetten.nl Bram Jetten

    I’ve been working with Git for a while now and must say that this is much better than other graphical representations like GitX and GitK. For most stuff I still prefer the terminal as I’m already using it when developing with Rails, but especially for reviewing your history and checking changes, it’s absolutely great.

  • http://peteschaffner.com Pete Schaffner

    Great review. I have been trying this gui out as well as @oleganza’s Gitbox. At the moment Tower seems to be jam-packed full of useful stuff, but in a way that makes me feel a little overwhelmed when using it :) I’m migrating from Gity, and so far Gitbox feels a lot more comfortable! Also, concerning doing a hard reset, I know you mentioned you wished Tower had this baked in… but I have noticed in Gitbox you have the ability to “extract” a particular committed file and can then, if you wish, just save over the file you would like to replace (kind of a round about way to do a hard reset, but useful nonetheless).

    Also, what theme were you using in Espresso? Looked nice :)

  • http://www.redsparklabs.com Brent Weber

    This is pretty cool. Will take me a while to move away from the command line, but seems to have most all the features covered.

  • Eduardo Barros

    Great video Jeffrey Way, I find it very useful.

  • Americo Savinon

    Agree with you Jeff. It’s a really nice Git user interface and probably the best I’ve seen. But I also encourage other developers to first learn how to use Git on the terminal before moving into tower or any other GUI interface.

  • Sahan

    Awesome, Thank you so much Jeff!

  • nXqd

    I’m pretty amazed at your screencast quality. Which app do you use for recording your video and settings for encoding ?
    Thanks :)

    • http://www.jeffrey-way.com Jeffrey Way
      Author

      Thanks – I use Screenflow or Camtasia Studio for Mac. For the former, I export between Medium – High quality.

  • Ivo Trompert

    Beautiful tool. Finally something that works for the mac!

    Can someone please explain to me how I can add a avatar to the commits?

    • http://www.jeffrey-way.com Jeffrey Way
      Author

      They probably use gravatar.com.

      • http://www.git-tower.com Tobias Günther

        Your guess is absolutely right, Jeffrey: we’re getting the images from gravatar.com, using the author’s / committer’s email address as the identifier.

    • Ivo Trompert

      Thank you all for your responses.

      I try this method.

  • http://digitalformula.net Chris

    Hi Jeffrey,

    Great screencast, as always. Question, though …

    Firstly, I’m familiar with source control but haven’t used Git before.

    Why do you need to stage every time before a commit? This isn’t something I remember having to do when using source control before (Microsoft Sourcesafe & Subversion).

    Thanks!

    • http://www.jeffrey-way.com Jeffrey Way
      Author

      Because, otherwise, how would you specify which files to commit?

    • http://www.git-tower.com Tobias Günther

      Hi Chris,
      The staging area concept in Git allows you to carefully craft your commit. Imagine having changed 5 files – but youd only like to commit 3 of them (because only those 3 belong together).
      Staging only those three files will allow you just that. The remaining files can be committed later, reverted, further changed etc.

      • http://digitalformula.net/ Chris

        Thanks for the detailed and helpful response, Tobias. I appreciate it. :)

        Thanks for your response, too, Jeffrey,

  • Artur

    Nice, but the command line version is much faster and easy to use.

  • http://www.danielg.dk Daniel Gottschalck

    Hi Jeffrey

    What would you recommend to use on Windows, similar to that Git Tower Gui you are using on OSX?

    Regards

  • Tobias Jurga

    Tower seems to get a pretty strong Git GUI. Even the Beta is pretty neat. Great stuff, thanks for publishing Jeff.

  • http://daulex.com Kirill Galenko

    Thanks for the tut Jeff.

    Already downloaded and created a test project.

    Im new to the whole git thing, but I have used github before, so my question is:
    Can we hook up tower to github, so it would store/mirror the files there?

    Thanks.

  • osaman

    lo lo lavuko lo lo ben geldim lo

  • JF

    Never wanted to tackle subversion or CVS, always look to complex for my needs. Git Tower is for me a revelation, easy to implement and use, up and running in 2 minutes. Intuitive UI. That’s what i’m talking about !

    Thanks again for anothers great screencast.

  • http://www.sitebase.be Sitebase

    Definitely have to try this application. Looks very neat and straightforward.

  • http://www.bitcetera.com/en/techblog Svoop

    There have been a few shots at new Git GUIs lately, most recently Gitbox. But unlike the others, Tower (nomen est omen) aims to offer a GUI for a bigger and thus more useful subset of Git’s functionality. Considering this is still a prerelease and already covers most everyday procedures for me, it really has a lot of potential. Let’s see what the pricing will be.

  • http://www.webguide4u.com Vivek Parmar

    will give it a try, hope i find it useful

  • http://zge.la Vedran

    I worked now for a few days with Tower and I’m really surprised how useful it is. Especially for people don’t like to work with the console and/or just like to have a visual interface. I’m still preferring to work with the console because of pace, but that’s a personal issue. Also all the nice little gimmicks like avatar images from gravatar or the ability to customize the whole toolbar are nice. Tower is definitely worth a try! And I guess Tower makes the change from SVN to GIT for a lot of people much easier. Finally :)

  • fk

    Which espresso theme did you use? It seems beneficial to the eyes.

  • Martin Smith

    I’m on the periphery of geekery. Git is brilliant, I hate Terminal but Git is brilliant!

    Tower suddenly makes the ethereal world of branching usable… I’ll try *this CMS* which involves re-arranging my structure and adding all sorts of ‘tags’ into my code… i’ll call it “CMS Tryout A”, But HEY! Lets try this other CMS and call it “CMS Tryout B” I can see the different experimental branches there listed in the sidebar!

    Tower opens up a world of experimentation to designers and front-enders which was otherwise appreciated but just too geeky.

    Surprised it took this long TBH!

    SVN is dead… long live Git!

  • Yader Hernandez

    I don’t find GUI applications for this type useful for developers. It slows you down. Just have a look at how many clicks you did just to commit, view a commit, switching windows, etc…

    Through the command line, I feel as if I have more control (even though that may not be the case). I can also take shortcuts by not having to stage and then commit. I could go on all day!

  • Jai

    I had been using gitx for a while, and then I discovered that brotherboard had done a fork which added a lot of the missing functionality – useful sidebar, push / pull, merging, so on. You can check it out at:

    https://github.com/brotherbard/gitx

    I will probably run tower and that gitx branch side by side for a bit to see which I prefer but just thought I better plug the gitx branch as since finding it a few weeks ago it has been everything I wanted in git gui.

  • http://twitter.com/garbaczd David Garbacz

    Version control is really nice and all but I think my main hurdle is finding out exactly what version control can do and the ins and outs of it over something like using the Terminal.

    Tower looks like a very no-nonsense approach to getting people like me off on the right foot though.

  • http://www.nicktoye.co.uk Nick Toye

    Wow that was a quick screencast, struggled to keep up to be honest. :)

    I have tried this Git Tower, but I use Symphony (www.symphony-cms.com) and they use Git extensively, to start with you have to clone the remote rep, but also update the sub modules and other files, which you can do easily with the command line, but something Tower doesn’t yet do.

    They told me today that it is on it’s way, but not sure it’s something that is of high priority, which is a shame.

  • http://hybridmindset.com/blog Lavon

    This looks cool, but I use SmartGit its a full featured GUI for Git thats been around for a while now. I think its on Mac and Windows.You can even integrate the free P4VMerge into it to have a free visual merge tool as good as the one used with Perforce. I blogged about SmartGit.

  • http://thinktankdesign.ca Robert Hurst

    I’m nearly certain that this is a fork of the experimental branch of gitx. Have a look -> https://github.com/brotherbard/gitx/wiki.

    • http://thinktankdesign.ca Robert Hurst

      a lot has been added though. Looks great.

  • João Carlos

    Fuckin awesome. Wondering a Windows version!

  • marcos cerutti

    Oh boy.. this is not supported on ppc :-(

  • http://www.think360studio.com/ Eva

    Awesome, Thank you so much

  • Broderick

    Hi!

    I’m trying to Revert.
    If I use the command prompt and type: git reset –hard a203e024fabc5c1b4d625c75db7a3704fbbe0362
    Then I get a revert to the ID (commit).
    The problem is the the last commit is entirely gone from the repository now.

    The effect I’m looking for is for instance, if I have an Text Editor open with a file that is committed into the repository. If I make a change to the file and commit the change it works. But now if I want to revert to the previous commit, what I want is to be able to select the commit I want to revert to, when this is done if I go to my Text Editor, I should see that the file got reverted.

    Or am I missing something here?

    Thanks

    • tom

      @Broderick
      Not sure I completely understand what you are trying to do but if you want to keep the commit use
      git revert instead if git reset