Pushing and Pulling

Before pushing and pulling changes, your repository will need a remote to communicate with. When you clone a repo, a remote will automatically be added with the given URL. However if you created a new empty repo you will need to add a remote manually.

Adding a Remote

  1. Open a repository.
  2. Tap the i button in the upper right.
  3. Tap the Add Remote button.
  4. Set the name (usually origin) and url (see here for how to find the url) of the remote you would like to add.
  5. Tap Add.
  6. The remote will be added to your repository and appear in the repository info.

Removing a Remote

  1. Open a repository.
  2. Tap the i button in the upper right.
  3. Identify the remote you would like to delete.
  4. Tap the icon next to the remote and then tap Delete Remote.
  5. The remote will be deleted from your repository

Pulling Changes

  1. Open a repository.
  2. Switch to the Status tab.
  3. Tap the Pull button.
  4. Choose the type of pull you would like to perform.
    • Fetch and Merge (Default) - Local changes are merged with the remote changes
    • Fetch and Rebase - Local changes are reapplied on top of the remote changes.

  1. Tap the Pull button.
  2. Remote changes will be pulled to your device.
  3. If there were conflicts merging or rebasing your changes, fix the conflicts and commit the result.

Pushing Changes

You will need write access to the remote repository to push changes.

  1. Open a repository.
  2. Switch to the Status tab.
  3. Tap the Push button.
  4. Select the branch you would like to push to the remote, and optionally enable force updating of the remote branch.

  1. Tap the Push button.
  2. Your local changes will be pushed to the remote repository.
  3. If you get the error “Cannot push non-fastforwardable reference”, that means someone else has updated the remote branch. Pull the remote’s changes and try again.