由于大尺寸

时间:2017-08-20 04:40:09

标签: c++ git visual-studio github

我正在使用Visual Studio for C ++,我已经分配了一个repo,在构建过程中,git跟踪了这个大小的101MB文件,该文件位于src / .vs / v15 / ipch

现在的问题是我无法将任何更改推送到原点,因为GitHub的大小限制为100MB。

我在此之后进行了4-5次更改,并且无法将其中的一个更改为原点。

以下是我在bash中遇到的错误:

remote:错误:GH001:

remote: error :GH001

我试过这样做:

git --rm cached <file>

这从索引中删除了我的文件,但我仍然需要推送这些更改。

我该如何处理这个问题?

1 个答案:

答案 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
相关问题