Why should you use a GUI tool for Git

If there is a tool for you to do your job optimized, just shut up and use it!

The Git development workflow for any-size projects has become as popular as coffee between serious developers. Why don’t we choose and use a tool to boost our visibility and productivity with?

This article it’s not a discussion about which tool is the best, nor about what makes you a better developer, instead, I want to encourage you to chose and use tools do do your job more productive.

  • The tool over the tool, why you must know Git over any GUI
  • The best tool is the one that you feel confortable and productive with
  • Top 5 Git GUI tools to choose
  • My personal choice for SourceTree

What’s the Story?

  • As a project owner (or manager), I want to track all activities of the project code, so that I can improve the project management and quality at all;
  • As a developer, I want to avoid using the terminal for operations that involve revision and attention, so that I can spend time developing nice thinks and not solving Git problems;
  • As a developer, I want to take real control of what is happening with the project, so that I can stay up to date with what the others developers are doing and interact with the project without causing problems.
All the power of your terminal, but with an nice User Interface! Why not!!

Hands on Development!

So, you love your terminal and you will never let he go! That’s no problem, on the opposite, that’s perfect! But remember:

What makes you a heavy user is now using the terminal, but using the terminal in a way that makes you really productive!

As you probably know, I love the terminal, but some Git operations are “to complicated” or “has to many informations” to do in the terminal, so having a GUI tool to support me in this operations makes me more productive and effective in my Git-Workflow.

In fact, if you understand Git you already know that Git is easy do deal, you just need to memorize a feel number of nice commands, and all the Git-magic happens… And even if your brain it’s not good to memorize things (like me) you can easily find pretty cheat sheets like this and that one from GitHub.

Let’s make a fast comparison

Don’t misunderstand me, I don’t want you to choose between GUI and our lovely terminal, instead I need you to know how to use both, so that you can use each one in each think that you feel more productivity.

Though, take a look in my two pictures below, which tools looks more productivity friendly? And more, which of then seems to provide more useful project repository information?

On left, you can se the main board of SourceTree, on right and simple ls-files and a log — graph.

Yes! The answer is as obvious as sounds, and no one can contest. Have a GUI boost the Git-workflow productivity! And much more than that, with a GUI that support you in all your Git operations you will be more well informed about what it’s really happening with your project repository understanding better what you and all your team are doing in each commit!

Nice Git GUI tools to play

  • SourceTree (Free / OSX / Windows / Today’s my favorite);
  • SmartGit (Free for non-comercial / OSX / Windows / Linux)
  • GitHub Desktop (Free / OSX / Windows)
  • GitKraken (Free / OSX / Windows / Linux)
  • Any other that makes you happy…

Ok! First of all, you need to know that all of Git clients that I quoted above integrate seamlessly with GitHub, Bitbucket and services like these. Second, you don’t need to choose necessarily one of these I listed, as I said before, the most important is not the tool but the experience and the productivity that will result…

I already used all of these four applications, I started using Git (I dont know how much, but, years ago) and then I started to use SmartGit, it opened my mind to all the possibilities that provides Git and it’s not easy to enjoy with the Terminal.

I recently rediscovered GitHub Desktop, late last year (2015) they rebuilt the app from scratch and the experience couldn’t be better now, specially for quickly participations in open source projects, where the main purpose is: clone, edit, commit and pull request!

GitHub Desktop

In fact, there’s a lot of options to you to choose, even your IDE (if you use a nice one) has a Git client (here you can see more suggestions from the Git developers). But I need to confess: my favorite is SourceTree. There’s no big reasons for this choice, but SourceTree gives me visibility of all that are happening in the project with only few clicks. “Visibility”, I like the way it sounds, I think that if you have visibility of what the others developers are commiting, merging and doing at all, you can actively participate and help more to make things done.

SourceTree + PhpStorm + Terminal, what can be better?

SourceTree it’s not perfect, but makes me productive in a Git project as I never felt before. I miss things like a nice conflict solver, but conbined with the terminal and my PhpStorm (who has the best conflict solver ever) I can make my Git workflow without any loss of time, even when I have conflicts, problematics merges, project reviews, code quality inspection or whatever you need to do!

Sprint Review…

So, don’t think that you will get rid of your terminal. Though Git GUI clients are powerfull tools to improve your productivity, you must master the fundamental concepts of the Git workflow, who starts in the terminal.

If you are a terminal lover (who isn’t?), avoid to loose your time and mind doing things or trying to undestand your black and green crazy characters if you can easilly install a lovelly GUI to help you. Be a hard user, be the hardest user you can, but don’t be a stupid user!

That’s it!

If you have any suggestion of Git GUI client that you love, let us know with a comment. You can even share this post a lot! Tell me what you agree or disagree, say if you like (or not). Notify me if I made any English mistake (I do a lot of, sorry in advance. Or… just get in touch:

Show your support

Clapping shows how much you appreciated Douglas Godinho’s story.