Screenshotbot:告别GitHub依赖,高效利用git-upload-pack
2025-05-09

Screenshotbot为了增强安全性并支持更多Git平台,最初选择不读取GitHub仓库数据。这虽然限制了功能,但提升了用户信任度和安全性审核通过率。文章详细介绍了Screenshotbot如何通过构建commit-graph和使用git-upload-pack协议来获取必要信息,从而高效支持浅克隆,解决了大型单体仓库克隆耗时的问题。新方法利用客户CI任务中已有的SSH访问权限,直接通过git-upload-pack协议获取commit信息,避免了依赖GitHub API,提高了效率和稳定性,并支持更多平台,包括自托管Git仓库。虽然git-upload-pack协议复杂,作者也总结了一些需要注意的细节,例如Packfile格式和不同Git服务器的限制,但这篇文章为开发者提供了宝贵的经验和参考。