Git pull don't merge or rebase by default

Maintain default linear Git history with “git pull” by default allowing fast-forward only. If encountering a Git remote that cannot be fast-forwarded, the user can then either git rebase or git merge to resolve the conflict and / or create a merge commit.

git config --global pull.ff only

Git services such as GitHub allow enforcing linear history.

Reference: Git: rebase vs. merge