我有一个使用 Dreamhost 托管的大型 git 存储库。它随着时间的推移慢慢增长,直到现在还没有出现任何问题。推拉没有问题,但是当我尝试从远程克隆时,pack-objects 进程收到一个终止信号 9。从我所读到的内容来看,这是 Dreamhost 正在杀死该进程,因为它使用了很多内存。
有解决方法(在服务器上克隆然后下载),但我正在寻找一个永久的解决方案。存储库将继续增长。
WebDAV 是我最好的选择吗?一切都会像现在这样吗?
听起来你可能收集了太多垃圾。你可以git gc
在远程服务器上运行吗?(我打赌你做不到)
如果没有,请尝试下载裸存储库(使用 tar 或 rsync),git gc
在其上运行,然后再次上传,覆盖旧存储库(确保您有备份或最新克隆,只需如果!)。
如果这解决了您的问题(我怀疑它会解决),那么尝试设置一个 cron 任务以git gc
自动在您的裸仓库中运行。此外,降低 gc.auto 配置变量可能会有所帮助。尝试在您的裸仓库中设置git config gc.auto 3000
.
据我所知,你真正失去的是钩子。Git 对待 WebDAV 的方式与对待 SSH 的方式相同。