Really the ideal way to do this is to not use pull at all, but instead fetch and reset:
git fetch origin master
git reset –hard FETCH_HEAD
git clean -df
(Altering master to whatever branch you want to be following.)
pull is designed around merging changes together in some way, whereas reset is designed around simply making your local copy match a specific commit.
You may want to consider slightly different options to clean depending on your system’s needs.
You could try this:
git reset –hard HEAD
(from How do I force “git pull” to overwrite local files?)
Another idea would be to delete the entire git and make a new clone.