Hindi kailangan ng global Git proxy dahil lang may isang proyektong nangangailangan ng ibang koneksyon. May sariling local configuration ang dati nang checkout, kaya maaaring manatili sa repository na iyon ang pagbabago.

Ginagamit ng mga halimbawa ang kasalukuyang git config set/get/unset commands. Placeholder ang project directory, remote URL, at documentation IP. Para sa pampublikong repository test na nagpapahintulot ng pampublikong proxy, pumili mula sa listahan ng HTTP proxy.

git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin

Kasama sa proxy URL ang transport scheme nito. Maaaring gumamit ang HTTPS remote ng karaniwang HTTP proxy na may CONNECT; ang HTTPS scheme ng remote ay hindi nangangailangang gawing HTTPS ang proxy URL.

Tingnan kung ano talaga ang pinili ng Git

Kung hindi inaasahan ang resulta, tingnan ang value na pinili para sa aktuwal na remote URL:

git -C project config get --show-origin \
  --url=https://example.com/team/project.git http.proxy

Gamitin ang totoong HTTPS remote sa query. Maaaring may system, user, repository, command-line, at URL-specific settings ang Git. Maaaring hindi makita ang mas tiyak na rule kung global http.proxy value lang ang titingnan. Nakakatulong ang origin output na matukoy ang file o command-line source sa likod ng resulta.

Saklaw ng local setting ang HTTP-based access mula sa repository na iyon, hindi lang ang isang branch. Kung may maraming HTTP remote, maaari itong gamitin para sa iba pa bukod sa unang sinubukan. May URL-specific HTTP settings kung kailangan ng mas makitid na pagtutugma.

Bago magkaroon ng checkout

Para sa unang clone, piliin kung dapat manatili ang override; para limitahan ito sa Git invocation na iyon, gamitin:

git -c http.proxy=http://203.0.113.10:8080 \
  clone https://example.com/team/project.git

Hindi kusang nagiging permanent configuration entry sa bagong checkout ang command-line override. Magtakda ng local value pagkatapos kung ang susunod na fetch ay dapat gumamit ng rutang iyon.

Ibang kaso ang SSH remote

SSH ang gamit ng remote na nagsisimula sa git@host: o ssh://. Hindi ito ginagawang HTTP transfer ng HTTP proxy setting ng Git. Suriin ang transport ng remote bago palitan ang gumaganang proxy IP dahil lang patuloy na pumapalya ang SSH operation.

Kapag hindi na kailangan ang local override, alisin lang ang key na iyon:

git -C project config unset --local http.proxy

Kapag inalis, muling umiiral ang naaangkop na configuration mula sa ibang source. Hindi ito utos para burahin ang lahat ng proxy setting sa makina.

Kaugnay na mga artikulo