Summary: I made a git commit that contained oversized files and, when trying to push, got the dreaded "large files" error. I restructured the repo to have a new top-level directory that no longer contains any large files, but I still get the "large files" error when trying to push. I tried various common solutions (below), but git keeps trying to push files that are outside the new top-level repo.
Details on what I did:
- I manually removed the .git and .gitignore files to my desired new directory, as described here. 
- I confirmed that the new root directory was successfully recognized via - git rev-parse --show-toplevel.
- I tried to push to the remote again ( - git push origin main), but got the error- File <filepath> is 102.90 MB; this exceeds GitHub's file size limit of 100.00 MB, where- <filepath>is a path inside the old directory, not the new one.
- I tried to remove the file from the cache via - git rm -r --cached <filepath>(as described in the accepted answer here), but this yields the error- fatal: <filepath> is outside repository.
- I reset via - git reset HEAD~, then tried again to push, but I got the same error as above.
- I tried to filter the branch history to remove commits involving the large file ( - stitched.csv) via- git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch stitched.csv' HEAD, as described here. Then I tried to push again and still got same error, again referring to- stitched.csv.
In practice, I have quite a few oversized files, so I would really rather not have to remove each one from the cache manually. I have made numerous good commits since the ones that involved large files.
Any help would be much appreciated.
 
    