Last updated on 24th February 2026

Git Tower Guide: Visual Git Client for Mac & Windows

Git Tower is a powerful, feature-rich Git client for macOS and Windows that brings the full capability of Git into a polished visual interface. If you find yourself reaching for a GUI to untangle a complex merge or want to stage individual lines without memorising git add -p, Tower is built for exactly that workflow. It sits alongside the command line rather than replacing it — seasoned developers use both, switching to whichever tool fits the task.

This guide walks through everything from first install to advanced daily workflows, and shows how Tower pairs naturally with DeployHQ for a seamless commit-to-deploy pipeline.


Getting Started with Git Tower

Download and install

Head to git-tower.com and download the installer for your platform. Tower runs natively on macOS and Windows, and both installers include a 30-day free trial with no feature restrictions.

Once installed, Tower will prompt you to configure your Git identity (name and email). If you already have Git installed and configured globally, Tower picks up those settings automatically.

Connecting your hosting accounts

Tower can connect directly to GitHub, GitLab, Bitbucket, and any self-hosted service that speaks SSH or HTTPS. To add an account:

  1. Open Tower and go to Preferences → Accounts
  2. Click the + button and choose your provider
  3. Authenticate via OAuth (GitHub/GitLab/Bitbucket) or enter your credentials and SSH key path for self-hosted servers

Once connected, Tower can browse your remote repositories and clone them with a few clicks rather than copying URLs manually.


Key Daily Workflows

Cloning a repository

From Tower's welcome screen, click Clone and either paste a repository URL or pick one directly from your connected hosting account. Choose a local folder and Tower handles the rest — including setting up the remote and tracking branches.

Making commits

Tower's working copy view separates unstaged changes from staged ones, much like running git status and git diff side by side. You can stage entire files, individual hunks, or even single lines by clicking the gutter in the diff view.

Write your commit message in the panel at the bottom. Tower supports multi-line messages and warns you if the subject line exceeds 72 characters — a small nudge toward clean commit hygiene.

Branching and switching

The sidebar shows all local and remote branches. To create a new branch, right-click Branches and choose New Branch, or use ⌘⇧B on macOS. Switching branches is a double-click. Tower warns you if switching would overwrite uncommitted changes, and offers to stash them automatically before switching.

Merging and rebasing

To merge a branch, check out the target branch first, then right-click the source branch in the sidebar and choose Merge. Tower shows a preview of what will happen before committing to it.

For rebase, right-click the branch you want to rebase and choose Rebase onto…. Tower handles fast-forward situations automatically.

Resolving merge conflicts

When a merge produces conflicts, Tower flags the affected files with a warning icon. Double-clicking a conflicted file opens the built-in conflict resolver, which shows a three-panel view: your version on the left, the incoming changes on the right, and the merged result in the centre. Click to accept a change from either side, or edit the centre panel directly for more nuanced resolutions. Once all conflicts are resolved, stage the file and complete the merge commit.


Advanced Features

Interactive rebase

Tower's interactive rebase editor is one of its best features. Right-click any commit in the history view and choose Interactive Rebase from Here. You get a drag-and-drop list of commits where you can reorder, squash, edit, or drop individual commits before rewriting history — no need to remember the pick, squash, and fixup keywords.

Cherry-picking

To apply a single commit from another branch, right-click the commit in the history view and select Cherry-Pick. Tower applies the commit to your current branch and lets you choose whether to commit immediately or leave the changes staged for review.

Stash management

Tower gives stashes a proper UI. Create a stash from the toolbar with an optional name, then browse all saved stashes in the sidebar. You can inspect a stash's diff before applying it, apply it without dropping it, or drop stashes you no longer need — all without memorising git stash list or git stash drop stash@{2}.

Submodule support

If your project uses Git submodules, Tower displays them in the sidebar under Submodules. You can open a submodule as a separate Tower window, update all submodules at once, and add or remove them through the interface rather than editing .gitmodules by hand.


Integrating Git Tower with DeployHQ

Tower handles the local side of your Git workflow. DeployHQ handles the deployment side. Together they create a loop where committing in Tower and pushing to your remote triggers an automatic deployment without any manual intervention.

Setting up the connection

  1. Create a project in DeployHQ and connect it to your repository on GitHub, GitLab, or Bitbucket — whichever account you already linked in Tower.
  2. Configure a server in DeployHQ (FTP, SFTP, SSH, or cloud providers) and set the deployment path.
  3. In your DeployHQ project settings, navigate to Repository and confirm that automatic deployments are enabled. DeployHQ registers a webhook with your hosting provider so every push triggers a deployment automatically.

The day-to-day workflow

Once configured, your workflow becomes:

  1. Make and stage changes in Tower
  2. Write a commit message and commit
  3. Push to your remote branch using Tower's Push button
  4. DeployHQ receives the webhook, detects the push, and deploys the changed files to your server

You can watch the deployment progress in real time from the DeployHQ dashboard. If a deployment fails, DeployHQ records the exact error output so you can diagnose the problem without digging through server logs.

Branch-based deployments

DeployHQ can deploy different branches to different servers — for example, main deploys to production and staging deploys to a staging server. Since Tower makes it easy to switch and push branches, this fits naturally: push a feature branch from Tower and watch it land on your staging environment automatically.


Pricing

Tower offers a 30-day free trial with full access to every feature. After the trial, licenses are available for individuals and teams:

  • Individual license: covers one user across macOS and Windows
  • Team license: volume pricing for organisations, with centralised licence management

Current pricing and options are listed at git-tower.com/pricing.


If you run into any issues connecting Tower to your DeployHQ project or want help configuring automatic deployments, the DeployHQ support team is available at support@deployhq.com or on Twitter at @deployhq.

Ready to connect your Git workflow to automated deployments? Sign up for DeployHQ and have your first deployment running within minutes.