Jedna konfigurácia Gitu môže obsluhovať dve úplne odlišné trasy: externý host dosiahnutý cez schválenú proxy a interný host dosiahnutý priamo. Nemusíte pri každom prepnutí repozitára upravovať globálnu predvolenú hodnotu.

Git podporuje HTTP konfiguráciu špecifickú pre URL. Napríklad:

[http]
    proxy = http://proxy.example:8080
[http "https://git.office.example/"]
    proxy =

Pre externý verejný repozitár, kde sú verejné proxy povolené, ponúka zoznam HTTP proxy kandidátov pre predvolený koncový bod. Prázdna hodnota je výslovné prepísanie pre zodpovedajúcu URL. Líši sa od vymazania toho konkrétnejšieho kľúča, čo môže znova odhaliť všeobecnú proxy.

Zlaďte URL, ktorú Git používa

Schéma, názov hostiteľa, port, cesta a voliteľné používateľské meno sa zúčastňujú na dokumentovaných pravidlách zhody. Neberte podsekciu URL ako všeobecný výraz so zástupnými znakmi shellu. Užšie pravidlo cesty môže poraziť širšie pravidlo hostiteľa.

Pre pohľad iba na čítanie na zodpovedajúcu konfiguráciu proxy:

git config --get-urlmatch http.proxy https://git.office.example/team/project.git

Toto kontroluje zhodu konfigurácie. Nie je to sieťový test a nepreukazuje, že trasa je dosiahnuteľná. Zohľadnite aj ďalšie rozsahy konfigurácie a príslušné nastavenia prostredia.

Presmerovanie nie je nová zhoda konfigurácie

Dokumentácia Gitu hovorí, že zhodujúce sa URL sú tie, ktoré sa odovzdávajú priamo príkazom Gitu; URL navštívené kvôli presmerovaniu sa tejto zhody nezúčastňujú. Majte toto obmedzenie na pamäti, ak prvý hostiteľ presmeruje stahovania inam.

Trasa by mala zodpovedať aj transportu. SSH vzdialený repozitár sa neriadi podsekciou HTTP URL len preto, že tá istá služba ponúka web HTTPS.

Použite niekoľko zámerných pravidiel a potom skontrolujte výsledok pre reprezentatívne URL. Dlhé hromadenie globálnych, v repozitári miestnych a na URL špecifických položiek proxy je oveľa ťažšie pochopiteľné než sieťový rozdiel, ktorý ste sa snažili vyjadriť.

Súvisiace články