If you’re reading this, you’re probably already familiar with Git and code hosting platforms like GitHub. If not, have a look at this great introduction to Version Control!
I’m well aware that learning Git isn’t as appealing as learning JavaScript or Python. But its benefits are clear:
It helps to understand “who” did “what” to the project so that we can clearly see how it is evolving.
It allows us to collaborate easily by simplifying the process of adding our own code modifications and reviewing contributions from others.
It acts as a backup tool, making it easy to restore previous versions of the project or specific files.
As you progress in your coding journey, you will become increasingly familiar with creating commits and reviewing pull requests. And as experience has shown me, you will soon realize that while the Command-Line Interface (CLI) can be an amazing companion for many programming tasks, it may not be the most user-friendly tool for working with Git.
I am certain of this because I work at Tower — a desktop Git client for Mac and Windows. And this is exactly the type of feedback we hear every day from our users.
In this post, let’s have a look at the top 5 features that I think are worth highlighting for any Treehouse student. As a former Treehouse pupil myself, I’m thrilled to say that we will also be offering an exclusive Coupon Code so that you can get Tower at a more affordable price.
Keep reading!
1. Undo
Git allows you to roll back in time and undo any operation. The problem is that memorizing Git commands is hard.
With Tower, you can simply press “CMD+Z” (or “CTRL+Z” if you’re on Windows) to easily undo any action, such as a commit creation, a branch deletion, or a merge.
Once you get used to it, it’s hard to go back to the terminal (or any other Git client, for that matter). It just works!
Git can be intimidating, and most of that fear comes from being afraid of messing things up. Knowing you can undo anything is a huge confidence booster for someone who just wants to focus on programming, not version control.
2. Creating Better Commits
In Git, it’s very important to create small, granular commits so that your team (and your future-self) can quickly grasp the changes introduced to the project. You should avoid making large commits with multiple unrelated changes and opt for a more focused approach instead.
In the CLI, this is easier said than done. But, with Tower, you can very easily stage chunks or even just single lines by clicking and dragging the lines you would like to include in the commit.
If you make a mistake, you can easily right-click to edit the commit message or amend it to add a forgotten file. And for more advanced tasks, like interactive rebase, you can use drag and drop to rearrange the order of commits or combine them into a single commit (known as “squash” in Git-land).
This is where I believe Git can be really helpful: when you have a well-documented project history that is a joy to read!
3. Remote Services Integration
Tower supports all the popular code hosting platforms, such as:
GitHub
BitBucket
Azure
GitLab
and even remote servers!
Once you’re connected, you can clone any repository with a single click to get up and running, pull or push changes, and publish a new repository.
You can also manage Pull Requests without leaving the application — that’s right, if you’re already in a position of reviewing your colleague’s code, you can check out the changes, merge, and close the PR seamlessly within the client.
4. Visualizing Diffs
Being able to quickly visualize what changed is one of the most important advantages of a Git Graphical User Interface (GUI). With Tower, you can customize your experience by enabling syntax highlighting (which supports over 200 programming languages!), changing color themes, and adjusting your preferred tab width.
If you work with images as well, you’ll be happy to learn that Tower also provides a before-and-after comparison feature, allowing you to confirm whether the new image meets your expectations.
Tower shows the diff for PNG, JPG, GIF, BMP, TIFF, JPEG2000, and HEIC formats. We found this feature very useful during our recent rebranding process!
5. Improved Productivity
In Git, you will find that many actions are quite repetitive. Take “fetching”, for instance. You should perform this action periodically to know if there have been any updates made to the repository. Otherwise, you won’t be able to push your changes or know what’s new!
Those tasks can be cumbersome and easy to forget. Tower is all about automating the boring stuff, so it automatically fetches the latest changes from the repository for you.
“Stashing” is another good example. You always need to stash your changes before checking out a different branch, as you may have experienced if you’ve tried doing this via the command line. It’s one more command to remember… unless you’re using Tower, which allows you to simply double-click a branch to stash your changes and instantly reapply them in the new branch.
And if you like getting things done without leaving the keyboard, you will love Quick Actions – Tower’s implementation of the popular Command Palette. This is a great option to quickly check out to a branch, inspect a file, or simply switch to light or dark mode!
Conclusion
As you can see, Tower can improve your Git-game in many ways to help you become a better developer.
Make sure you give it a try on Mac or Windows. It’s free for 30 days – no credit card required!
If you end up liking it, use the code “TREEHOUSE25” for a 25% discount on any Tower plan. This code is only valid for new Tower users and can be used for the first year of the subscription.
Happy committing! ✌️