Keeping a fork up-to-date is about the original repo: you need to base your local work on top of an up-to-date image of said original repo.
Generally, in a triangular workflow, the original repo is called upstream
.
So all you need to do is:
git fetch upstream
git rebase upstream/master
git push --force
That will rebase your current branch on top of an updated upstream/master
, and then you can force push (provided you are the only one working on your own fork).

This is very different from a pull
, as it does not merge the branches from upstream to your own local branches.
Rather it replays your lcoal work on top of those branches, ensuring that a future pull request will be trivial to accept back into the original repo (fast-forward merge, as you are publishing only new commits on top of the most recent state of the upstream master branch)