In brief
git pull first fetches data and then integrates it according to the selected mode. With --ff-only, integration is allowed only when the branch can advance linearly.
Useful to know
git pull first fetches data and then integrates it according to the selected mode. With --ff-only, integration is allowed only when the branch can advance linearly. [1]
A refusal on divergent history signals that an explicit decision is needed. Do not add a forceful command by habit. Compare local and remote commits, then choose merge or rebase according to the project’s workflow.
Sources
For further detail and to check the information: