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.