Let's say you have a feature branch based off a different feature branch. Someone force-pushes against that branch and now your branch cannot be merely rebased or even merged against that branch because all those mismatched commits end up being treated as if they're actually yours (when they weren't). A potential recourse is this:
git fetch <remote>
git rebase --onto <remote>/<upstream branch> \
<local feature branch>~N \
<local feature branch>
The value of N
is the number of commits in your local branch that are your extensions to that remote branch. So if you originally based off the remote branch and added 6 commits, N = 6.