E Proxy fir een eenzelt Git-Repository benotzen
Setzt en repositorylokalen HTTP-Proxy, préift d’Konfiguratioun, déi Git fir d’Remote-URL wielt, a läscht d’Iwwerschreiwung, wann se net méi gebraucht gëtt.
Dir braucht kee globale Git-Proxy, just well ee Projet eng aner Verbindung brauch. E bestoende Checkout huet eng eege lokal Konfiguratioun, sou datt d’Ännerung bei deem Repository bleiwe kann.
D’Beispiller benotzen déi aktuell git config set/get/unset-Befehler. Projetdossier, Remote-URL an Dokumentatiouns-IP si Plazhalter. Fir en Test mat engem ëffentleche Repository, wou ëffentlech Proxyen erlaabt sinn, wielt e Kandidat aus der Lëscht vun HTTP-Proxye.
git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin
D’Proxy-URL enthält hiert Transportschema. En HTTPS-Remote kann en normalen HTTP-Proxy mat CONNECT benotzen; d’HTTPS-Schema vum Remote verlaangt net, d’Proxy-URL op HTTPS z’änneren.
Préift, wat Git tatsächlech gewielt huet
Bei engem onerwaarte Resultat préift de Wäert, dee fir déi tatsächlech Remote-URL ausgewielt gouf:
git -C project config get --show-origin \
--url=https://example.com/team/project.git http.proxy
Benotzt Äre richtegen HTTPS-Remote an där Ufro. Git ka systemwäit, Benotzer-, Repository-, Kommandozeilen- an URL-spezifesch Astellungen hunn. Wann Dir nëmmen e globale http.proxy-Wäert ukuckt, kënnt Dir eng méi spezifesch Reegel verpassen. D’Herkonftsausgab hëlleft, d’Datei oder d’Kommandozeilequell hannert dem Resultat ze fannen.
Déi lokal Astellung gëllt fir HTTP-Zougang aus deem Repository, net nëmme fir eng bestëmmte Branch. E Repository mat méi HTTP-Remotes kann se also och fir aner benotzen ewéi deen éischten getesteten. Fir méi enk Zouuerdnung ginn et URL-spezifesch HTTP-Astellungen.
Ier de Checkout existéiert
Beim éischte Klonen entscheet Dir, ob d’Iwwerschreiwung bestoe soll; fir se op deen eenzege Git-Opruff ze limitéieren, benotzt:
git -c http.proxy=http://203.0.113.10:8080 \
clone https://example.com/team/project.git
D’Kommandozeileniwwerschreiwung gëtt net vu sech aus e permanente Konfiguratiounsandrag am neie Checkout. Setzt duerno e lokale Wäert, wa spéider Fetches déi Streck benotze sollen.
En SSH-Remote ass en anere Fall
E Remote mat git@host: oder ssh:// um Ufank benotzt SSH. D’HTTP-Proxy-Astellung vu Git mécht doraus keen HTTP-Transfert. Préift den Transport vum Remote, ier Dir eng funktionéierend Proxy-IP tauscht, just well eng SSH-Operatioun nach feelt.
Wann déi lokal Iwwerschreiwung net méi gewënscht ass, läscht nëmmen dee Schlëssel:
git -C project config unset --local http.proxy
Doduerch kënnt uwendbar Konfiguratioun aus anere Quellen erëm zum Droen. Et ass kee Befeel, fir all Proxy-Astellung um Rechner ze läschen.