Koristite proxy za jedan Git repozitorij
Postavite HTTP proxy lokalno za repozitorij, provjerite konfiguraciju koju Git bira za udaljeni URL i uklonite postavku kad više ne treba.
Ne treba vam globalni Git proxy samo zato što jednom projektu treba drukčija veza. Postojeća radna kopija ima vlastitu lokalnu konfiguraciju pa promjenu možete zadržati uz taj repozitorij.
Ovi primjeri koriste trenutačne naredbe git config set/get/unset. Direktorij projekta, udaljeni URL i dokumentacijski IP zamjenske su vrijednosti. Za test javnog repozitorija gdje su javni proxyji dopušteni, odaberite kandidata iz popisa HTTP proxyja.
git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin
Proxy URL uključuje transportnu shemu. HTTPS udaljeni repozitorij može koristiti obični HTTP proxy s podrškom za CONNECT; HTTPS shema udaljenog URL-a ne zahtijeva promjenu proxy URL-a u HTTPS.
Provjerite što je Git stvarno odabrao
Ako rezultat nije očekivan, pregledajte vrijednost odabranu za stvarni udaljeni URL:
git -C project config get --show-origin \
--url=https://example.com/team/project.git http.proxy
U upitu koristite stvarni HTTPS udaljeni URL. Git može imati sistemske, korisničke, repozitorijske, naredbenolinijske i URL-specifične postavke. Gledanje samo globalne vrijednosti http.proxy može propustiti specifičnije pravilo. Ispis podrijetla pomaže pronaći datoteku ili naredbeni redak iz kojeg rezultat potječe.
Lokalna postavka odnosi se na HTTP pristup iz tog repozitorija, ne samo na određenu granu. Repozitorij s više HTTP udaljenih veza može je koristiti i za druge osim prve testirane. Za uži odabir postoje URL-specifične HTTP postavke.
Prije nego što radna kopija postoji
Za početno kloniranje odlučite treba li promjena ostati trajna; da je ograničite na taj Git poziv, koristite:
git -c http.proxy=http://203.0.113.10:8080 \
clone https://example.com/team/project.git
Naredbenolinijsko nadjačavanje ne postaje samo po sebi trajna konfiguracijska stavka u novoj radnoj kopiji. Nakon toga postavite lokalnu vrijednost ako kasniji fetch treba koristiti tu rutu.
SSH udaljena veza drugi je slučaj
Udaljeni URL koji počinje s git@host: ili ssh:// koristi SSH. Gitova HTTP proxy postavka ne pretvara ga u HTTP prijenos. Provjerite transport udaljene veze prije zamjene ispravnog proxy IP-a samo zato što SSH operacija i dalje ne uspijeva.
Kada lokalno nadjačavanje više ne treba, uklonite samo taj ključ:
git -C project config unset --local http.proxy
Uklanjanjem ponovno dolazi do izražaja primjenjiva konfiguracija iz drugih izvora. To nije naredba za brisanje svih proxy postavki na računalu.