Git Clone:在首次 fetch 之前设置代理
当新仓库从首次网络请求起就需要自己的代理时,使用克隆时的配置。
仓库还不存在时,为它设置仓库本地代理听起来很别扭。你不必先克隆失败,再修改配置重来。
Clone 可以在首次 fetch 之前写入本地设置:
git clone --config http.proxy=http://proxy.example.net:8080 \
https://git.example.net/team/project.git project
这些端点是示例。对于允许的公共代理路由上的公共 HTTPS 仓库,请从 HTTP 代理列表中选择一个 HTTP 端点。Git 文档说明,此选项在新仓库初始化之后、拉取其远程历史之前生效。因此,这一代理设置可以覆盖首次下载,并在之后保留在新仓库中。
两个相似命令留下不同痕迹
若要把路由只提供给一次调用而不把该设置存入克隆出的仓库,请把 -c 放在子命令之前:
git -c http.proxy=http://proxy.example.net:8080 \
clone https://git.example.net/team/project.git project
git clone --config ... 与 git -c ... clone 不是可互换的配置作用域。请选择该仓库后续操作是否应保留代理。
当这一选择重要时,检查新仓库的本地配置。其他用户、系统或特定 URL 的设置仍可参与生效策略。
保存路由时,请让密码远离这些示例。传给 clone 配置选项的含凭据值可能成为仓库的永久设置。
这是 HTTP 传输配置,包括 HTTPS 远程仓库。SSH 远程仓库仍需要自己的 SSH 代理路由;把 SSH 移到 443 端口不会让此选项配置它。