Jedna konfigurace Gitu může obsluhovat dvě zcela odlišné cesty: externí host dosažený přes schválenou proxy a interní host dosažený přímo. Nemusíte při každém přepnutí repozitáře upravovat globální výchozí hodnotu.

Git podporuje HTTP konfiguraci specifickou pro URL. Například:

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

Pro externí veřejný repozitář, kde jsou veřejné proxy povoleny, nabízí seznam HTTP proxy kandidáty pro výchozí koncový bod. Prázdná hodnota je výslovné přepsání pro odpovídající URL. Liší se od smazání onoho konkrétnějšího klíče, což může znovu odhalit obecnou proxy.

Slaďte URL, kterou Git používá

Schéma, název hostitele, port, cesta a volitelné uživatelské jméno se účastní dokumentovaných pravidel shody. Neberte podsekci URL jako obecný výraz se zástupnými znaky shellu. Užší pravidlo cesty může porazit širší pravidlo hostitele.

Pro pohled pouze pro čtení na odpovídající konfiguraci proxy:

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

Toto kontroluje shodu konfigurace. Není to síťový test a neprokazuje, že cesta je dosažitelná. Zohledněte také další rozsahy konfigurace a příslušná nastavení prostředí.

Přesměrování není nová shoda konfigurace

Dokumentace Gitu říká, že shodujícími URL jsou ty předané přímo příkazům Gitu; URL navštívené kvůli přesměrování se této shody neúčastní. Mějte toto omezení na paměti, pokud první host přesměruje stahování jinam.

Cesta by měla odpovídat také transportu. SSH vzdálený repozitář se neřídí podsekcí HTTP URL jen proto, že stejná služba nabízí web HTTPS.

Použijte několik záměrných pravidel a poté zkontrolujte výsledek pro reprezentativní URL. Dlouhé hromadění globálních, v repozitáři místních a na URL specifických položek proxy je mnohem obtížnější pochopit než síťový rozdíl, který jste se snažili vyjádřit.

Související články