As most programmers are already aware, Git is a very powerful open source version control system. There are a handful of popular version control systems (VCS) to choose from, but most power users lean toward Git or Subversion (SVN). Schools of thought vary on which is best, but it is universally accepted that professionals of all kinds can benefit from a good version control system. Even for those who don’t write or program professionally, a good VCS can help catalog changes in all sorts of personal projects. Launching into Git for the first time, however, might not be the most pleasant experience for the average first-timer.
Tower changes that and makes Git a tool that everyone should have loaded up in their repertoire.
What is Git?
For someone to appreciate Tower, they must first understand what Git actually is. Git is a decentralized version control system. Compared to other systems, like SVN, Git does not require a centralized hub (or workflow) to utilize all of its functionality. In layman terms, Git keeps track of changes to files so that you can review, share, merge or even revert them later. It allows users to make comments on a particular set of changes creating a documented timeline for historical review. Git is lightweight and fast. That speed originates from its data management and local operation. Without the need for a network connection to a centralized server, actions within Git really move in comparison to other version control systems.
How does Tower help?
If you are new to Git, the general consensus around the user community is to learn the functionality from the command line. Although this certainly educates most users on the capabilities of Git, it can create a steep learning curve for others. Tower is a visual interface for Git. Tower is a beautiful application that is fast and incredibly easy to operate right out of the box. Tower’s visual approach to Git makes the more complex tasks as simple as drag and drop. Most users will also appreciate that Tower is actively maintained by its developers as well. I’ve never actually had to contact them for support, but regular updates to the software have kept it running smooth and problem free. Lastly, Tower has a decent help section within the application. The Tower developers explain how to use the software while mixing in the “whys” to connect the Git dots.
After launching Tower into a repository, you will conveniently see most of the common operations that you will be using. You can see, for example, modified or deleted items as they relate to the repository. You can also switch from different branches, pull or push from remote repositories, and view histories of files and their changes.
Another powerful feature of Git is its branch management. Historically, a branch within a VCS meant a headache whenever it was time to merge those changes later. Git changes all of that with its exceptional branching model. Not only are working within branches a snap, but Git actually encourages users to make use of the feature as often as they need. Tower brings a visual element to Git’s powerful branching functionality. Creating a new branch is simple, and switching between branches is done with a double-click of the mouse.
The drag-and-drop philosophy implement by Tower is almost as powerful as its visual element. For example, you can drag and drop specific changes within a staged file to build very explicit commits. This can be hard to appreciate, but being able to commit a block of code (or content) contained within a specific file is truly mind-boggling for most old-school version control users. Drag and drop operations don’t stop locally – you can even drag and drop repositories from remote locations and back again.
Having a version control system is also about storing and reviewing your changes. In team environments it becomes important to understand why a user made a particular change. Within Tower, just click on the commit tab and begin reviewing organized commits. You can see who committed what, which modifications were made, and even export those changes if necessary.
Tower isn’t without its small share of issues. To be fair, those issues pale in comparison to all of the benefits that Tower brings to the table. One thing I can’t seem to get past, is the check-in dialogue in the main status area. Filling that form out just pastes that text into a subsequent confirmation window where you then have to confirm and click commit – again. It would seem to me that you should be able to execute complete commits on that main window without a separate confirmation popup. Tower isn’t the least inexpensive Git application on the market either. Some people wouldn’t even give Tower an opportunity to shine due to its current $59 price tag. I would suggest that before turning a cold shoulder, new users take Tower for a test drive with their free 30 day trial.
Tower is clearly, as they put it, the most powerful Git client for Mac. Its features are vast and the implementation is simple and effective. Through its visualization and drag and drop features, new and power users can skip the command line and get right down to business with Git. It is a beautiful application that warrants a place in virtually every Mac toolbox.