我有一个Bitbucket存储库,其中存储库大小限制为2.0 GB。我创建了一个.gitignore
,但是忘了向其中添加下载文件/文档,因此该回购文件变成了8.3 GB。
在Bitbucket中看到通知后,我迅速跑了
$ git rm -r /path/to/docs
在执行了常见的git add
等命令之后,出现了此推送错误:
存储库处于只读模式(超过2 GB的大小限制)。
了解如何减小存储库大小:https://confluence.atlassian.com/x/xgMvEw。
致命:无法从远程存储库读取。请确保您具有正确的访问权限,并且存储库存在。
促使我使用以下命令:
$ du -sh project-root/
这将返回:
6.0G项目根目录
这有点令人担忧,因为我刚刚删除了所有文档,不可能那么大。所以我跑了:
$ du --max-depth=10 -h project-root | sort -n -r
最突出的目录是:
5.7G project-root/.git/objects/pack
5.7G project-root/.git/objects
5.7G project-root/.git
依次,我运行了git gc
-但这没有任何效果(或者至少在调整大小方面没有效果)。
那么如何减小.git/objects
目录的大小?我认为大小是由大型文档文件夹贡献的,但是现在它们已经消失了。那么如何“清理”我的git对象?
答案 0 :(得分:2)
如果什么也没推送,请遵循this answer,这建议附加git gc
标志以进行更积极的修剪。
您可以重写存储库历史记录并删除不应提交的大文件。 Reducing the repository size using Git中对此进行了解释,建议使用BFG Repo-Cleaner:
BFG是git-filter-branch的一种更简单,更快的替代方法,用于从Git存储库历史记录中清除不良数据:
- 删除疯狂的大文件
- 删除密码,凭据和其他私人数据
答案 1 :(得分:-1)
您应该使用git reset --hard
,它仅保留已提交的文件,或者使用git clean -d -x -f
删除未跟踪的文件,包括目录(-d)和git(-x)忽略的文件。
看一下:
How do I clear my local working directory in git?
最诚挚的问候,
布拉卡(Brhaka)