git - Git fetch - 大量对象,下载缓慢
问题描述
当我运行git fetch production
从托管在 Gitlab 上的远程存储库中获取对象时,我在终端中得到以下信息 -
remote: Counting objects: 100% (4895/4895), done.
remote: Compressing objects: 100% (515/515), done.
Receiving objects: 25% (11199/44589), 476.81 MiB | 3.42 MiB/s
这似乎需要很长时间,因为每个对象似乎都很大。
有趣的是——我完全不知道这些物体是什么;因为我已经仔细检查了我的本地存储库;我所拥有的只是 Laravel 框架,以及我的自定义代码;并且没有大包裹。我估计我的存储库的最大大小不应大于 200 - 300 MB。
有没有办法解决这个问题?快把我逼疯了!
更新:当我撰写这个问题时,终端抛出了以下内容 -
Receiving objects: 100% (44589/44589), 1.14 GiB | 3.39 MiB/s, done.
Resolving deltas: 100% (28324/28324), done.
对象的大小似乎从 44589 -> 28324 下降。有人可以帮我弄清楚发生了什么,我怎样才能加快我的 git pull 和 git fetches?
解决方案
首先,您可以快速列出存储库中的大型对象。
其次,您可以继续并删除存储库历史记录中的一些对象(这意味着您当前签出的工作树可能很小,但大对象可能已提交,然后删除,并且在克隆时仍然可以感觉到它们的存在存储库)
您需要使用git filter-repo
.
在服务器端:
请参阅GitLab 14.5(2021 年 11 月)
Git 获取资源优化
Git 获取资源优化
我们改进了Workhorse 和 Gitaly 之间的流量性能,导致
git fetch
现在使用更少的 GitLab 服务器资源。如果在 Workhorse 和 Gitaly 之间部署了 gRPC 代理,则此更改可能会导致自我管理 GitLab 出现问题。
如果您在 Workhorse 和 Gitaly 之间部署了 gRPC 代理,Workhorse 将无法再连接。作为一种解决方法,禁用临时
workhorse_use_sidechannel
功能标志。
如果您需要 Workhorse 和 Gitaly 之间的代理,请使用 TCP 代理。
推荐阅读
- reactjs - 使用 Dex 进行调试转换类导致 Windows 崩溃
- r - 在函数中使用省略号使用 tidy 原则读取数据
- python - DoCplex 中的 Bass 模型:如何在约束中分配变量
- azure - 指向 Azure 负载均衡器公共 IP 的 Azure 前门后端池未解析
- node.js - React-Admin:`make` 命令失败
- javascript - JavaScript - 我怎样才能让它更动态?
- javascript - 简单的搜索api
- android - Android studio 3.6 无法打开模拟器
- git - Watson Data API - 创建项目失败
- windows - Arduino Pro Micro 作为 PC 上的“键盘” - 在 PC 上打印“=”而不是“-”HID 库