Tower Help & Support

Fetching from a Remote

The Fetch command downloads changes from a remote repository - but does not integrate them into your working copy. Therefore, Fetch is used to get an overview of what happened on the remote.
A possible integration could be done later, by explicitly performing a merge or pull.

The data that Fetch downloads also powers the little badges next to local branches that have a tracking connection: The badges inform you about:

  • new commits that you haven't downloaded/pulled, yet
  • local commits that you haven't uploaded/pushed, yet

Keep the mouse over such an item to get more information in the tooltip.

Automatic Fetch in Background

Because of the informative and unobtrusive nature of "Fetch", you can't use it often enough. That's why Tower fetches from your remotes automatically in the background in defined intervals. This helps you stay up-to-date with what happens on the remote.

Most likely, you will not have to configure anything in this regard. However, if you need to, you can configure Auto-Fetching in Tower as follows:

  • in the Preferences, on the "General" tab, an option named "Automatically fetch remote repositories" lets you define the interval length - or switch this feature off completely
  • you can switch off Auto-Fetching on a per-remote basis: select the corresponding remote item in Tower's repository sidebar and check "Skip on Auto-Fetch"

Fetching from a Remote Manually

To perform a Fetch manually, you can simply click the Fetch button in the toolbar. Alternatively, you can also right-click a remote in the sidebar and choose Fetch <remote name>….

Prune Obsolete Remote Branches

Since the last time you fetched data, one or more branches might have been deleted on the specified remote. The "prune" option cleans up your local references: it removes any remote branches that no longer exist on the remote.

You can prune by checking the corresponding option in the Fetch dialog. Alternatively, you can right-click the remote in the sidebar and choose Prune Obsolete Remote Branches from the contextual menu.