Globalni posrednik Git ni potreben samo zato, ker en projekt potrebuje drugačno povezavo. Obstoječa delovna kopija ima lastno lokalno konfiguracijo, zato lahko sprememba ostane v tem repozitoriju.

Primeri uporabljajo trenutne ukaze git config set/get/unset. Imenik projekta, oddaljeni URL in dokumentacijski IP so nadomestne vrednosti. Za test javnega repozitorija, kjer so javni posredniki dovoljeni, izberite kandidata s seznama posrednikov HTTP.

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

URL posrednika vključuje transportno shemo. Oddaljeni repozitorij HTTPS lahko uporablja običajen posrednik HTTP s CONNECT; shema HTTPS oddaljenega URL-ja ne zahteva spremembe URL-ja posrednika v HTTPS.

Preverite, kaj je Git dejansko izbral

Če je rezultat nepričakovan, preglejte vrednost, izbrano za dejanski oddaljeni URL:

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

V poizvedbi uporabite pravi oddaljeni repozitorij HTTPS. Git ima lahko sistemske, uporabniške, repozitorijske, ukazne in URL-specifične nastavitve. Pregled samo globalne vrednosti http.proxy lahko spregleda natančnejše pravilo. Izpis izvora pomaga določiti datoteko ali vir v ukazni vrstici za rezultatom.

Lokalna nastavitev velja za dostop HTTP iz tega repozitorija, ne le za določeno vejo. Repozitorij z več oddaljenimi naslovi HTTP jo lahko uporablja tudi za druge poleg prvega testiranega. Za ožje ujemanje so na voljo URL-specifične nastavitve HTTP.

Preden delovna kopija obstaja

Pri začetnem kloniranju izberite, ali naj preglasitev ostane; da jo omejite na ta klic Git, uporabite:

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

Preglasitev v ukazni vrstici sama ne postane trajen konfiguracijski vnos v novi delovni kopiji. Pozneje nastavite lokalno vrednost, če naj prihodnji fetch uporablja to pot.

Oddaljeni repozitorij SSH je drug primer

Oddaljeni URL, ki se začne z git@host: ali ssh://, uporablja SSH. Nastavitev posrednika HTTP v Git ga ne spremeni v prenos HTTP. Pred zamenjavo delujočega IP-ja posrednika zgolj zaradi napake operacije SSH preverite transport oddaljenega URL-ja.

Ko lokalne preglasitve ne želite več, odstranite samo ta ključ:

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

Odstranitev znova uveljavi ustrezno konfiguracijo iz drugih virov. To ni ukaz za izbris vseh nastavitev posrednika na računalniku.

Sorodni članki