Tem sim mano:
git fetch --all;
git reset --hard origin/<branch-desejada>
git fetch vai trazer todas as alterações do repositório remoto sem fazer um merge ou um rebase.
git reset vai resetar sua branch para ficar igual ao estado do que você acabou de dar o "git fetch". O -- hard muda todos os seus arquivos para que eles fiquem idênticos ao da origin/branch-desejada.
Para manter as alterações locais eu imaginei que voce pudesse forcar um push da suas coisas pra sobrescrever o commit que foi enviado por outra pessoa. Talvez com o" git push -f origin/master" seja possível fazer isso