CSDN Gitcode 《Github 加速计划》
《Github 加速计划》通过 mirror 镜像仓库来同步 github 上的开源项目,以解决国内用户访问 github 速度较慢的问题,在 clone 项目方面,相较于 github 正常的访问速度 20 kb/s ,从 Gitcode Mirrors 镜像仓库 clone 项目可以达到 1MB/s,将近有 50 倍左右的提升。
镜像仓库中的项目目前同步频率约为 1次/天,已经镜像的项目列表参考 Mirros组织。
如何添加新的镜像仓库
如果您有新的仓库需要从 github 镜像到 Gitcode 上,您只需要在 镜像设置 仓库中 fork 一份项目并创建一个您自己的分支,同时按照如下格式创建好相应的文件并向源项目提交合并请求即可,在我们 Review 完您的代码,并接受您的合并请求之后,系统将会自动开始导入并同步您所提交的仓库。
graph TD
A[A:开源项目] --> B((Fork))
B --> B1[B: Fork项目]
B1 --> C[创建 imports.yml]
C --> D[向A创建 merge request]
D --> D1((Review<br/>Merged))
D1 --> E[向 Mirros 中导入 yaml文件中配置的项目]
E --> F(导入成功)
同步项目配置
如果您需要新增一个/多个 项目的 mirror,您需要创建一个 imports.yml
的配置文件,推送到 镜像设置 仓库中并提交合并请求即可,以下是 imports.yml
配置文件的模板内容,请参考以下格式来创建配置文件。
group:
name: alibaba
descripition: ''
projects:
- name: p3c
description: ''
mirrorRelease: false
topic: ''
- name: arthas
description: ''
mirrorRelease: false
topic: agent,alibaba,arthas,classloader,diagnosis,java,jvm,trace,trouble-shooting
- name: fastjson
description: ''
mirrorRelease: false
topic: android,best-performance,deserialization,fastjson,java,json,json-parser,json-serialization,json-serializer,serialization
其中:
Group 设置
-
group
是指需要 mirror 项目在 github 项目中的namespace
(支持组织或个人的项目),例如:arthas
项目的 github 项目地址为https://github.com/alibaba/arthas
,则其group:name
就设置为alibaba
;同样的,对于个人的项目https://github.com/xiongjiamu/arthas
,则group:name
就设置为xiongjiamu
即可; -
description
是指 组织/个人 的简介,可以为空,填写后会被作为mirrors
下对应子组织的组织简介;
注:一个
imports.yml
配置文件中只支持配置一个group
,如果需要同步 mirror 的项目属于多个组/用户,则请创建并提交多个配置文件
Project 设置
与 group
设置不同,在 imports.yml
配置文件中,支持添加多个项目文件的配置。
-
project name
是指需要 mirror 项目在 github 地址中namespace
后跟随的完整内容,不可为空,例如:arthas
项目的 github 项目地址为https://github.com/alibaba/arthas
,则其project:name
就设置为alibaba
;同样的,对于个人的项目https://github.com/xiongjiamu/arthas-2
,则group:name
就设置为arthas-2
即可; -
description
是指项目的简介,可以为空,填写后会被作为同步后项目的项目简介; -
mirrorRelease
是指是否需要同步 mirror 项目的 Release 附件,默认为 false(目前该功能还在开发中……) -
topic
是指项目的话题,可以为空,如果是多个则请用英文逗号,
分割开,填写后会被作为同步后项目的 Topic 信息显示在项目主页中;
镜像过来的项目访问地址
在完成镜像操作后,你可以再 mirrors
组织下查看到镜像过来的项目,通常情况下,镜像项目的访问地址为:
https://gitcode.net/mirrors/<group:name>/<project:name>
在上面的例子中,也就是可以通过以下 url 访问到被镜像的项目:
也可以理解为将 https://github.com/
替换成 https://gitcode.net/mirrors/
Github 加速计划
目前 mirrors 组织及 Gitcode 认证组织下的所有项目都会自动加入 Github 加速计划,当从 CSDN 站内访问这些项目的 Github 链接地址时, Github 加速计划会提示用户是否访问 Github 加速计划已经镜像的项目仓库,以提升用户的项目访问速度。此类项目每天会与 Github 官方项目同步一次。
如果您有新的 GitHub 项目需要加入到加速计划汇总,您可以通过 fork 项目或者像我们提交添加镜像 Issue 的方式来向我们进行反馈,我们将不定期更新、添加镜像项目。
对于已收录在 GitHub 加速计划中的项目,如果您认为该项目镜像行为侵害或影响了您的权益,你可以通过提交删除镜像 Issue 的方式来向我们进行反馈,核实后我们将停止该项目的镜像。
Github 加速计划提示页面如下
链接地址格式为 https://link.csdn.net/?target=https://github.com/MegEngine/MegEngine