Jy het nie ’n globale Git-proxy nodig net omdat een projek ’n ander verbinding nodig het nie. ’n Bestaande werkskopie het sy eie plaaslike opstelling, dus kan jy die verandering by daardie bewaarplek hou.

Hierdie voorbeelde gebruik die huidige git config set/get/unset-opdragte. Die projekgids, afgeleë URL en dokumentasie-IP is plekhouers. Kies vir ’n toets met ’n openbare bewaarplek waar openbare proxy’s toegelaat word ’n kandidaat uit die HTTP-instaanbedienerlys.

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

Die proxy-URL sluit sy vervoerskema in. ’n HTTPS-afgeleë kan ’n gewone HTTP-proxy gebruik wat CONNECT ondersteun; die afgeleë se HTTPS-skema vereis nie dat die proxy-URL na HTTPS verander word nie.

Kontroleer wat Git werklik gekies het

As die resultaat onverwags is, ondersoek die waarde wat vir die werklike afgeleë URL gekies is:

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

Gebruik jou werklike HTTPS-afgeleë in die navraag. Git kan stelsel-, gebruiker-, bewaarplek-, opdragreël- en URL-spesifieke instellings hê. As jy net na ’n globale http.proxy-waarde kyk, kan jy ’n meer spesifieke reël mis. Die oorspronguitvoer help om die lêer- of opdragreëlbron agter die resultaat te vind.

Die plaaslike instelling geld vir HTTP-gebaseerde toegang vanuit daardie bewaarplek, nie net vir ’n bepaalde tak nie. ’n Bewaarplek met verskeie HTTP-afgeleës kan dit dus vir meer as die eerste getoetste afgeleë gebruik. URL-spesifieke HTTP-instellings is beskikbaar as jy nouer passing nodig het.

Voordat die werkskopie bestaan

Vir die eerste kloon, kies of die oorheersing moet voortbestaan; om dit tot daardie Git-aanroep te beperk, gebruik:

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

Die opdragreëloorheersing word nie vanself ’n permanente opstelinskrywing in die nuwe werkskopie nie. Stel daarna ’n plaaslike waarde as latere fetches daardie roete moet gebruik.

’n SSH-afgeleë is ’n ander geval

’n Afgeleë wat met git@host: of ssh:// begin, gebruik SSH. Git se HTTP-proxyinstelling verander dit nie in ’n HTTP-oordrag nie. Kontroleer die afgeleë se vervoer voordat jy ’n werkende proxy-IP vervang bloot omdat ’n SSH-bewerking steeds misluk.

Wanneer die plaaslike oorheersing nie meer nodig is nie, verwyder net daardie sleutel:

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

As jy dit verwyder, geld enige toepaslike opstelling uit ander bronne weer. Dit is nie ’n opdrag om elke proxyinstelling op die masjien uit te wis nie.

Verwante artikels