Du treng ikkje ein global Git-proxy berre fordi eitt prosjekt treng ei anna tilkopling. Ei eksisterande arbeidskopi har eigen lokal konfigurasjon, så endringa kan haldast i det depotet.

Døma brukar dei gjeldande git config set/get/unset-kommandoane. Prosjektmappa, fjern-URL-en og dokumentasjons-IP-en er plasshaldarar. For ein test av eit offentleg depot der offentlege proxyar er tillatne, vel ein kandidat frå lista over HTTP-proxyar.

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

Proxy-URL-en inneheld transportskjemaet. Ein HTTPS-fjernstad kan bruke ein vanleg HTTP-proxy som støttar CONNECT; HTTPS-skjemaet til fjernstaden krev ikkje at proxy-URL-en blir endra til HTTPS.

Sjekk kva Git faktisk valde

Er resultatet uventa, sjekk verdien som er vald for den faktiske fjern-URL-en:

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

Bruk den verkelege HTTPS-fjernstaden din i spørjinga. Git kan ha system-, brukar-, depot-, kommandolinje- og URL-spesifikke innstillingar. Ser du berre på ein global http.proxy-verdi, kan du oversjå ein meir spesifikk regel. Opphavsutskrifta hjelper med å finne fila eller kommandolinjekjelda bak resultatet.

Den lokale innstillinga gjeld HTTP-basert tilgang frå depotet, ikkje berre ei bestemt grein. Eit depot med fleire HTTP-fjernstader kan difor bruke henne for fleire enn den først testa. URL-spesifikke HTTP-innstillingar finst om du treng snevrare samsvar.

Før arbeidskopien finst

For den første kloninga, vel om overstyringa skal vare; for å avgrense henne til det Git-kallet, bruk:

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

Kommandolinjeoverstyringa blir ikkje av seg sjølv ei varig oppføring i den nye arbeidskopien. Set ein lokal verdi etterpå om seinare fetch-operasjonar skal bruke den ruta.

Ein SSH-fjernstad er eit anna tilfelle

Ein fjernstad som startar med git@host: eller ssh://, brukar SSH. HTTP-proxyinnstillinga i Git gjer det ikkje til ei HTTP-overføring. Sjekk transporten til fjernstaden før du byter ei fungerande proxy-IP-adresse berre fordi ein SSH-operasjon framleis feilar.

Når den lokale overstyringa ikkje lenger er ønskt, fjern berre den nøkkelen:

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

Då kjem aktuell konfigurasjon frå andre kjelder til bruk igjen. Dette er ikkje ein kommando som slettar alle proxyinnstillingar på maskina.

Relaterte artiklar