仓库还不存在时,为它设置仓库本地代理听起来很别扭。你不必先克隆失败,再修改配置重来。

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 端口不会让此选项配置它。

相关文章