Tower 2 offers a clean and powerful GUI for MacOS and Windows.
Ranked in these QuestionsQuestion Ranking
Pro Pretty, modern-looking user interface
T2 has a good-looking interface and consists of 3 main views - services, repositories and repository.
Services view for managing integrations with hosting services like GitHub, Bitbucket and Beanstalk.
Repositories view for organizing local and remote repositories into folders and getting general overview about them.
Repo view that consists of two main subviews:
Working copy view shows modified files and their diff and allows wrapping up changes in a commit.
History shows commits alongside metadata and projects file structure.
Additionally, it allows performing various tasks such as merging branches via drag & drop, search allows searching by message, commit hash, author, committer and file and there's a quick open that allows fuzzy-searching for folder names.
Pro Offers a visual way to solve conflicts
T2 shows conflicting files, their authors and the commit that made changes. It then allows selecting which files should be used in the final result.
Pro Git-flow integration
Git-flow provide a consistent development process by defining a strict branching model that is great for managing large projects. T2 allows setting up and integrating into repos that follow this model.
Pro Fetches remotes at regular intervals
See what colleages or other contributors are doing in order to perform merges.
Costs $79 USD.
Con It requires separate licenses for MacOS and Windows
Usually a lot of products that are on MacOS and Windows let you use the same license for both platforms. Tower forces you to pay two licences if you are in this case (the unique benefit is a 20% of discount on the second platform).
Con Inefficient UI
In order to not overwhelm the users with information, much of the information is either hidden by default or requires navigating to a different section to access.
Con Doesn't support subtrees
Con Unable to add custom parameters for git commands
The inability to add default custom parameters for git commands is a read deal breaker. Imagine that you want to add --no-force-with-lease to push command but this is impossible with Tower because it does not allow you to configure extra parameters for git commands.