我正在使用Visual Studio for C ++,我已经分配了一个repo,在构建过程中,git跟踪了这个大小的101MB文件,该文件位于src / .vs / v15 / ipch
现在的问题是我无法将任何更改推送到原点,因为GitHub的大小限制为100MB。
我在此之后进行了4-5次更改,并且无法将其中的一个更改为原点。
以下是我在bash中遇到的错误:
remote:错误:GH001:
我试过这样做:
git --rm cached <file>
这从索引中删除了我的文件,但我仍然需要推送这些更改。
我该如何处理这个问题?
答案 0 :(得分:1)
当我更改它时,是否有办法进行提交和撤消.vs代码的跟踪?
您可以尝试使用BFG Repo-Cleaner来清理该大文件的本地仓库,但它只适用于裸仓库。
对于您当前的本地(非裸)回购,您可以关注&#34; Removing sensitive data from a repository&#34;并从过去的所有提交中删除该特定文件。
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA' \
--prune-empty --tag-name-filter cat -- --all
但实际上,您应该删除.vs文件夹本身:请参阅&#34; Remove folder and its contents from git/GitHub's history&#34;
git filter-branch --tree-filter 'rm -rf src/.vs' --prune-empty HEAD
git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
echo .vs/ >> .gitignore
git add .gitignore
git commit -m 'Removing src/.vs from git history'
git gc
git push origin master --force