I don't believe this idea has been suggested above but sometimes if it gets too crazy trying to resolve the large file issue or other git issues, I've just grabbed a copy of the repo (the whole local folder etc) and put it in a folder anywhere away from git. Then do a fresh clone of the repo. Next a diffing tool like winmerge to bring in any work I don't want to lose. And leave out the offending files and push back upstream. I apologize if this is not a correct answer but it has saved a lot of hair pulling when the above just doesn't seem to work.