> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parallelane.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pull

> Receiving remote commits with the merge or rebase strategy, and autostash

The toolbar's **Pull** button opens a modal that also shows the number of commits to receive.

* **Pull from** shows the source, in the form `<remote>/<branch> → <branch>`.
* **Strategy** offers **Merge** (default), which creates a merge commit, and **Rebase**, which replays your local commits on top of the remote.
* **Autostash** stashes your working changes, pulls, then restores them automatically.

<Frame>
  <img src="https://mintcdn.com/railgit/La2vIBMFHafSrcPT/images/remote-pull-dialog.png?fit=max&auto=format&n=La2vIBMFHafSrcPT&q=85&s=7b0b28cf9d23dc36a6f777d0b95aedc8" alt="The pull dialog, showing the Pull from source, the Merge / Rebase strategy, and the Autostash option" width="886" height="728" data-path="images/remote-pull-dialog.png" />
</Frame>

<Note>
  Pull only offers remotes that have the current branch.
  If no remote has it yet, the target line is replaced with an explanation and **Pull** is disabled; push the branch first, or fetch if it already exists on a remote.
</Note>

<Note>
  **Merge** is sent to git as an explicit `--no-rebase`.
  So a `pull.rebase = true` in your own git config can't turn the merge you picked into a rebase, and a pull still works when local and remote have diverged.
</Note>

<Note>
  If a pull produces conflicts, resolve them in the Working copy panel.
  See [Resolving merge conflicts](/review/merge-conflicts).
</Note>

<Tip>
  Double-clicking a **Remote Branches** row in the left repository panel immediately attempts a fast-forward pull if that branch is checked out.
  It's skipped with a notification when the working tree has changes to tracked files; untracked files don't block it.
</Tip>
