前提:系统的代理已经是配置好的代理,已经有了加速的能力。代理模式是 直连模式 ——仅开启 HTTP 代理,不自动配置系统代理,需要把模式打开到直连模式。


第一部分:Windows 下 Git 开启/查看/关闭代理

下面把 Windows 下 Git 开启代理、查看代理、关闭代理的命令集中整理,适用于你使用的系统代理软件。

1. 开启 GitHub 代理

假设你的代理软件 HTTP 代理端口是 10809,在 PowerShell 或 CMD 中执行:

1
2
3
git config --global http.https://github.com.proxy http://127.0.0.1:10809
git config --global http.https://raw.githubusercontent.com.proxy http://127.0.0.1:10809
git config --global http.https://codeload.github.com.proxy http://127.0.0.1:10809

这会让 Git 对上述 GitHub 域名的 HTTPS 请求使用代理,而不是让所有 Git 仓库都走代理。

2. 查看当前代理配置

1
git config --global --get-regexp "http\..*\.proxy"

3. 关闭 GitHub 代理

1
2
3
git config --global --unset http.https://github.com.proxy
git config --global --unset http.https://raw.githubusercontent.com.proxy
git config --global --unset http.https://codeload.github.com.proxy

这会删除上面设置的 GitHub 专用代理配置,不会关闭代理软件,也不会修改 Windows 系统代理。

4. 让所有 Git 仓库都走代理

开启:

1
git config --global http.proxy http://127.0.0.1:10809

关闭:

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

注意:如果之前已经设置过全局 http.proxy,它可能会影响其他仓库。关闭时也要考虑已有配置,不要误删自己仍然需要的设置。

5. 测试代理是否生效

1
git ls-remote https://github.com/git/git.git HEAD

如果输出提交哈希和 HEAD,说明 Git 成功获取了 GitHub 仓库信息。

提醒: 10809 只是示例端口。请确认你的代理软件的这个端口确实在监听,并且代理核心正在运行。Git 配置本身不会启动代理软件。


第二部分:Hugging Face 下载加速(Ubuntu)

先区分方法类型:换源(镜像)、走代理、断点续传。不要把几种不同的镜像地址混在一起配置,否则可能下载失败、缓存冲突或校验问题。

环境准备:确认已装 huggingface_hub(优先用官方 hf download 工具):

1
python3 -m pip install -U huggingface_hub

1. 换源:使用镜像站(最常用)

设置镜像端点,下载模型即走镜像:

1
export HF_ENDPOINT="https://hf-mirror.net"

永久生效(写进 ~/.bashrc,新终端也有效):

1
2
echo 'export HF_ENDPOINT="https://hf-mirror.net"' >> ~/.bashrc
source ~/.bashrc

下载示例:

1
hf download gpt2

镜像不稳定就换成别的可用端点(如 https://hf-mirror.com),先临时测试,确认可用再永久写入。镜像只影响支持 HF_ENDPOINT 的 Hub 客户端;项目自己拼下载 URL 或用 requests/wget/curl 时不生效。

2. 走已有的代理软件

本地 HTTP 代理端口假设为 7890,按实际端口修改:

1
2
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"

若是 SOCKS5 端口(如 7891):

1
export ALL_PROXY="socks5h://127.0.0.1:7891"

取消代理环境变量:

1
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY ALL_PROXY

走代理时通常不必再设镜像,建议先测官方源,不行再换镜像。

3. 启用 Xet 高性能下载

新版 huggingface_hub 用 hf-xet 处理支持 Xet 存储的文件传输:

1
2
python3 -m pip install -U "huggingface_hub[hf_xet]"
export HF_XET_HIGH_PERFORMANCE=1

下载:

1
hf download Qwen/Qwen2.5-7B-Instruct

不保证所有模型都变快,取决于服务器、磁盘和网络带宽。旧方案变量 HF_HUB_ENABLE_HF_TRANSFER=1 已弃用,优先用上面的 Xet 变量。不需要时 unset HF_XET_HIGH_PERFORMANCE。

4. 只下载需要的文件

不需要整个仓库时就按文件拉取:

1
2
3
4
5
6
# 只下某个文件
hf download gpt2 config.json
# 下载到指定目录,便于项目直接读取
hf download gpt2 --local-dir ./gpt2
# 只下某一类文件
hf download 仓库ID --include "*.json" "*.safetensors" --local-dir ./model

5. 断点续传 + 缓存复用

hf download 自带缓存机制:已完整缓存的不会重复下载,中断后重跑同一条命令会尝试继续。想换更大磁盘放缓存,下载前先指定:

1
export HF_HOME="/data/huggingface"

查看缓存与磁盘空间:

1
2
du -sh ~/.cache/huggingface/hub 2>/dev/null
df -h

6. 离线加载已下载的模型

下载完整后,关闭联网检查直接用本地文件:

1
export HF_HUB_OFFLINE=1

代码里用本地路径 + local_files_only=True:

1
2
from transformers import AutoModel
model = AutoModel.from_pretrained("/data/models/your-model", local_files_only=True)

取消离线:unset HF_HUB_OFFLINE。离线只能用已存在的文件,缺配置/权重/分词器仍会报错。

7. 推荐组合顺序

  1. 先解决连通:测代理能否直连官方源;不方便再换镜像。
  2. 提高效率:升级 huggingface_hub + 开 Xet + 把超时调高(export HF_HUB_DOWNLOAD_TIMEOUT=60 HF_HUB_ETAG_TIMEOUT=30)。
  3. 避免重复下载:统一缓存目录,用 hf download,下载完改为本地路径加载。

关键区别:HF_ENDPOINT 只对使用 Hub 客户端的代码生效;项目写死 URL 或用独立 requests/wget/curl 下载时,需单独配代理或改地址。

官方文档: