Sounds like there are three repos in play here: yours, coworkers, and servers. It also sounds like yours hasn't be modified yet.
Ok, first thing: go to your repo and do git branch mybranch_backup Call it whatever you want. What this does is create a new branch with the same head as your current branch. Not needed but it is a ton easier that doing log, copying the SHA to some other location, and copying it back later. Instead you've got a nice name for it. I'd recommend doing something similar with the server's branch. git fetch (not pull), git branch fucktards_backup origin/branch (check the order of the last two params before using). Now you've got backups of your and the server's branch
Next: pull fucktard's changes. Most likely you are gonna get merge conflicts. If you can resolve it then glorious day you are probably done. If not, well that's the fun part. You've got some options. You can always reset the branch and then step forward while you resolve conflicts.
You are probably a lot less screwed than you think. You just need to sit down and sketch out the graph. You can think about it as being two feature branches where one branched before updating (which happens a lot).