Skip to main content

Pull: Merge vs Rebase

The setting that confuses a lot of people.

When you Pull, SourceTree asks (or has a default for) whether it will do:

  • Pull with Merge (default): Fetch + create a merge commit if needed
  • Pull with Rebase: Fetch + rebase your local commits on top of the new remote

:::tip Practical recommendation If you're working alone on a branch, rebase gives a cleaner history. On shared branches (e.g. main), prefer merge for safety. :::

Setting in SourceTree: Repository → Repository Settings, or the dropdown next to the Pull button.