国内如何从github下载文件

1.Git Clone 加速

1.1 使用 gitclone

1
git clone https://gitclone.com/github.com/kubernetes/kubernetes.git

配置全局代理:

1
git config --global url."https://gitclone.com/github.com/".insteadOf "https://github.com/"

恢复:

1
git config --global --unset url."https://gitclone.com/github.com/".insteadOf

1.2 使用 ghproxy

1
git clone https://ghproxy.net/https://github.com/xxx/xxx.git

或者:

1
git clone https://gh-proxy.com/https://github.com/xxx/xxx.git

适合临时下载


2.Release 文件下载加速

例如原地址:

1
https://github.com/prometheus/prometheus/releases/download/v3.0.0/prometheus.tar.gz

修改为:

1
https://ghproxy.net/https://github.com/prometheus/prometheus/releases/download/v3.0.0/prometheus.tar.gz

或者:

1
https://gh-proxy.com/https://github.com/prometheus/prometheus/releases/download/v3.0.0/prometheus.tar.gz

在线生成地址:

GitHub 文件加速站
ghpull 下载加速


3.Raw 文件下载加速

原地址:

1
https://raw.githubusercontent.com/kubernetes/kubernetes/master/README.md

改为:

1
https://ghproxy.net/https://raw.githubusercontent.com/kubernetes/kubernetes/master/README.md

或者:

1
https://gh-proxy.com/https://raw.githubusercontent.com/kubernetes/kubernetes/master/README.md

4.企业级方案(推荐)

如果你是 SRE/DevOps 场景,建议不要依赖公共镜像站。

方案一:自建 GitHub Mirror

graph LR
A[GitHub] --> B[Gitea/GitLab Mirror]
B --> C[CI/CD]
B --> D[开发人员]

定时同步:

1
2
3
4
5
git clone --mirror https://github.com/xxx/xxx.git

cd xxx.git

git remote update

方案二:配置代理

1
2
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

取消:

1
2
git config --global --unset http.proxy
git config --global --unset https.proxy

实际生产环境中,这是最稳定的方案。很多用户反馈通过代理节点访问 GitHub 下载速度可从 KB/s 提升到数十 MB/s。