Tips & Tricks

Here are some time savers, productivity tips and practical tricks on how to get the most out of Tower.

Also be sure to watch our Tips & Tricks video on YouTube!

  • Much of the "hard Git work" can be performed easily in Tower - simply via drag & drop!

    Create, Pull, and Push Branches

    Dragging a branch in Tower's sidebar leaves you with many options:
    Drop it onto the Branches section to create a new branch based on the dragged one.
    Drop it onto another branch (optionally holding down or ⌘) to pull, push, merge, or track a branch.

    Create Tags & Branches

    You can also drag commits from the History views. Drop them onto the Tags or Branches sections in the sidebar: this will create a new tag/branch based on the dragged commit.

    Partially Apply Stashes

    When looking at the changeset of a Stash, you can drag one of its changed files and drop it onto the Working Copy in the sidebar to only apply this very change.

    Cherry-Pick Commits

    Drag a commit item from the History views and drop it onto the Working Copy item in the sidebar - this will cherry-pick the dropped commit into your current HEAD branch.

  • In Tower's preferences dialog, you can configure a Default directory for cloned repositories. Once configured, Tower will clone new repositories directly into this directory.
    Combined with the Service Manager, cloning your repos from GitHub / Bitbucket / GitLab / other hosting services literally becomes a matter of a single click.

  • To open or find a repository, you don't have to take your hands off the keyboard. Simply hit ⌘ + ⇧ + O to show Tower's Open Quickly window:

    • Type some letters from the repository's name; Tower will show you all matching items, no matter if you've added them to Tower before.
    • When the input field is empty, the listed repositories are ordered by when they were last opened. This provides a quick access to your favorite bookmarks.
  • One of the things that make Git such a great tool is the ability to craft granular commits. With Git's staging area, you can determine which changes exactly you want to have in the next commit. Tower takes this one step further by allowing you to determine the exact chunks and even lines you want to add:

    Select a changed file in the Working Copy list. In the diff view on the right, you can then select the exact chunks & lines you want to add to the next commit.

  • The search feature in Tower's History views allows you to quickly filter the list to just the commits you need. Make sure to set the right category by clicking on the magnifying icon - and search for a commit's message, author, hash, or even files.

    Especially the "file" option is very powerful: enter the path of any file in your project and Tower will show only the commits that changed this very file!

  • In Tower, you can choose your favorite way to check out a branch:

    • by double-clicking the branch in the sidebar
    • by right-clicking the branch in the sidebar and selecting "Check Out"
    • by right-clicking the Working Copy item in the sidebar and selecting a branch in the "Check Out" submenu
    • by clicking the current branch's name above the list of changed files in the Working Copy view

    Additionally, you can even check out individual commits: right-click the commit and select the "Check Out" option from the contextual menu.

  • Many people use a dedicated diff tool to look at changesets in detail. To make opening your favorite diff tool as quick as possible, Tower offers a convenient shortcut: anywhere in the app, simply hit ⌘+D and Tower will try to open the most appropriate diff.

  • Crafting and confirming a commit can be done without taking your hands off the keyboard. In the Working Copy view, make sure that a changed file is selected:

    • hit the Spacebar to stage/unstage an item
    • use the up & down arrows on your keyboard to inspect other files
    • hit ⌘ + ⇧ + C to focus the Commit area
    • after having entered a message, confirm the commit by hitting ⌘+Return
  • The Working Copy view offers a very quick way to amend your last commit.

    When holding the key pressed, the "Commit" button transforms into an Amend button and the last commit's message is automatically filled into the message textfield.

    This is a very handy way to quickly add a change you forgot in your last commit.

  • The Repositories view lets you order your bookmarks however you like - simply via drag and drop. Additionally, however, you can also have Tower re-sort them alphabetically: right-click an item and select Sort Items by Name from the contextual menu.

  • When informing someone about recent activity in your project, your best option is to point her to the repository's commit history. However, this is not an option for people who don't have access to your repository.
    In that case, you can still provide a quick overview by copy-pasting the commit info in Tower: select the commits in question, right-click, and select Copy Commit Info to Clipboard. This will copy these commit's hashes and subjects to your clipboard - a perfect helper for writing release notes, for example.

  • By default, triggering actions like Merge, Rebase, Pull, Push, or Fetch shows a dialog - to collect user input and ask for confirmation. However, holding down the key will perform them in a quick variant, without a dialog:

    • Fetch will fetch all configured remotes
    • Pull will pull from the tracked branch
    • Push will push to the tracked branch
    • Merge will merge with the selected branch in the sidebar (if not applicable: tracked branch)
    • Rebase will rebase onta the selected branch in the sidebar (if not applicable: tracked branch)

    If in doubt what a quick action might do in a concrete situation, simply open the corresponding contextual menu or main menu: holding down will transform the menu item titles and tell you which branches exactly will be involved in the action.

  • Although there are many different ways to switch / check out branches via Tower's interface, you can also use a purely keyboard-based approach:

    • simply hit ⌘ + ⇧ + B to open the Check Out Revision dialog.
    • you can then instantly start typing the branch's name - and have Tower autocomplete it for you.
  • You can search for a public repository on GitHub directly within the Clone dialog: simply start typing a non-URL string and have Tower search for public repositories on github.com.