Pulling from a Remote

The Pull command downloads data from a remote repository and integrates changes into your working copy. More precisely, it "fetches" data from the specified remote repository and, after downloading, merges changes from the specified remote branch into your current HEAD branch.

Automatic Stashing of Local Changes
Since pulling will merge changes into your working copy, you should always make sure to perform it with a clean working copy.
Since this is easy to forget, Tower's "Auto Stash" feature comes in handy: Tower will remind you in case you have uncommitted changes and offer to stash them for you.

Pull from a Remote

There are multiple ways to perform a Pull in Tower:

  • click the Pull button in the toolbar and select the branch you want to integrate in the following dialog
  • drag the branch in the sidebar that you want to integrate and drop it onto the Working Copy item
  • right-click the branch in the sidebar that you want to integrate and select Pull <remote/branch>…


By default, pull integrates changes using a merge operation. If you prefer using a rebase you can check "Use Rebase Instead of Merge" in the dialog's options.

Tracking Connections
In Git, a local branch can "track" a remote one. Such a relationship helps make a lot of things easier: it provides a default for pulling & pushing and it allows Tower to inform you about unpushed and unpulled commits in the sidebar.
Learn more about "tracking connections" in this documentation.