Give GitHub Desktop a Chance
By: Ryan Knightly
Tags: Programming, Software Development, Github, Git, Software Engineering

Give GitHub Desktop a Chance

You’re missing out if you only use the CLI

When I was introduced to GitHub several years ago, it completely changed the way I viewed writing software. It was my first look at version control and Git in particular, and I thought it was amazing.

Rather than rewriting files and hoping I didn’t need to go back to older versions if something goes wrong, Git made development much safer by giving the safety net of rolling back to older versions, along with a bunch of other benefits that come from using a proper version control system. As a result, I started using Git for practically all of my projects, whether they were applications developed as a team or just personal projects.

However, all of my interactions with Git had been through the CLI (command line interface), simply because that was how I first learned about Git. This made my experience look pretty much exclusively like this:

Git CLI

The CLI was fine in the beginning for doing simple things like committing, pushing, pulling, and merging. It was also very useful as I learned more about Git and wanted to use more features like interactive rebase.

However, as I used Git more and more, I started making mistakes here and there. Mistakes like accidentally leaving out a file in a commit, or working on the wrong branch, or having problems with merging and deleting branches.

Then, while working on a project, I noticed that my supervisor used the GitHub desktop client rather than the CLI, and it looked so much simpler and easier to use.

So I decided to give it a shot, and my interactions with Git changed from taking place in the terminal to taking place here:

GitHub Desktop Client

After using it for a while, one thing became very clear:

GitHub Desktop is much simpler than the Git CLI.

And that has its pros and cons. On one hand, it is much more intuitive and simple to add the correct files to a commit, read the changes included in a given commit, read and explore a project’s commit history, view the branches and structure of a project and how it has changed over time, and search the project history for various things.

Being simpler also means that it is less likely to make simple mistakes like those mentioned above. Having a visual representation of the branch structure and everything included in a commit makes trivial errors in dealing with those things less common.

However, being simpler does come with its drawbacks. When I found myself wanting to do more specific things with Git, I simply didn’t have the option to do it with the desktop client. Maybe I wanted to use regex to delete or add all files that match a certain pattern. Or maybe I wanted to do one of those interactive rebases. Or maybe I wanted to use git stash . Not going to happen unless you have the CLI.

So Here’s The Scoop

You should use (or at least try out) GitHub desktop for everything it allows you to use it for. Use it for the simple everyday Git actions, because it makes them simpler, more intuitive, and less error-prone.

When you need to do something a little more advanced and you realize that you can’t do it with the desktop client, then bring out the CLI and handle that specific task.

But don’t use the CLI for more than what you need it for.

Unless you just think it’s cool. In which case, you kind of have a point. Kind of.

But even so: give GitHub Desktop a chance. You won’t regret it.