我们从github使用了几个项目(从github下载)。由于这些项目是从github镜像为cmake中的third_party项目,因此干净的构建会导致所有项目再次被下载。我们落后于代理,有时需要1-2小时才能下载(Traffic正在与FB流量竞争,因此我们无法控制)。
我一直在考虑在本地设置镜像服务器,所有项目下载均从该服务器进行。但是,我不想更改本地服务器中的路径(即 https://github.com/google/grpc.git 应该与 https://github-local-mirror.com/google/grpc.git 相同)。
我了解我可以配置本地git repo并从本地git repo克隆并定期从github更新本地git repo,但是路径问题非常重要。
这里有没有办法保持与github相同的路径?有什么叫做本地镜像服务的东西可以让github项目本地镜像吗?
到目前为止,我已经阅读了所有有关github镜像的问题,我想从github镜像。因此,在标记为重复项之前,请先考虑一下。
答案 0 :(得分:0)
这里有没有办法保持与github相同的路径?
是的:只需使用与GitHub上相同的路径将它们克隆到您的镜像上即可。
有没有什么叫做本地镜像服务的东西,可以将github项目本地镜像?
不,但这很简单。在您的镜像计算机上,您将要运行:
git clone --mirror <github-URL>
使得每个克隆在GitHub上的 google/path
上都可以在path
上的 镜像上使用。完成此操作后,您只需在每个克隆中运行git fetch --prune
(或git remote update --prune
)即可。
鉴于您将要维护的镜像有限列表很小,您只需在镜像计算机上有一个path
列表(包含一个文件),然后使用cron作业即可运行更新,例如:
*/5 * * * * for path in $(cat $HOME/mirrors); do (cd $path && git remote update -p); done
或类似的