Eén Git-configuratie kan twee heel verschillende routes bedienen: een externe host die via een goedgekeurde proxy wordt bereikt en een interne host die rechtstreeks wordt bereikt. U hoeft niet elke keer de globale standaard aan te passen wanneer u van repository wisselt.

Git ondersteunt URL-specifieke HTTP-configuratie. Bijvoorbeeld:

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

Voor een externe openbare repository waar openbare proxies zijn toegestaan, biedt de HTTP-proxylijst kandidaten voor het standaardeindpunt. De lege waarde is een expliciete overschrijving voor de overeenkomende URL. Dit verschilt van het verwijderen van die specifiekere sleutel, waardoor de algemene proxy weer zichtbaar kan worden.

Laat de URL overeenkomen die Git gebruikt

Het schema, de hostnaam, de poort, het pad en de optionele gebruikersnaam nemen deel aan de gedocumenteerde overeenkomstenregels. Behandel de URL-subselectie niet als een algemene shell-wildcardexpressie. Een smallere padregel kan een bredere hostregel verslaan.

Voor een alleen-lezen blik op de overeenkomende proxyconfiguratie:

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

Dit onderzoekt de configuratieovereenkomst. Het is geen netwerktest en het bewijst niet dat de route bereikbaar is. Houd ook rekening met andere configuratiescopes en relevante omgevingsinstellingen.

Een omleiding is geen nieuwe configuratieovereenkomst

De documentatie van Git zegt dat de overeenkomende URL's degene zijn die rechtstreeks aan Git-opdrachten worden gegeven; URL's die door een omleiding worden bezocht, nemen niet deel aan die overeenkomst. Houd die beperking in gedachten als de eerste host downloads elders omleidt.

De route moet ook bij het transport passen. Een SSH-remote wordt niet door een HTTP-URL-subselectie beheerst alleen omdat dezelfde dienst een HTTPS-website aanbiedt.

Gebruik enkele bewuste regels en controleer daarna het resultaat voor representatieve URL's. Een lange opeenstapeling van globale, repository-lokale en URL-specifieke proxy-items is veel moeilijker te doorgronden dan het netwerkonderscheid dat u wilde uitdrukken.

Gerelateerde artikelen