Përdorni proxy për një depo Git
Vendosni proxy HTTP lokal për depon, kontrolloni konfigurimin që Git zgjedh për URL-në remote dhe hiqni mbivendosjen kur s’duhet më.
Nuk ju duhet proxy Git global vetëm sepse një projekt kërkon lidhje tjetër. Një kopje pune ekzistuese ka konfigurimin e vet lokal, ndaj ndryshimi mund të mbetet te ajo depo.
Shembujt përdorin komandat aktuale git config set/get/unset. Direktoria e projektit, URL-ja remote dhe IP-ja e dokumentacionit janë vlera për t’u zëvendësuar. Për test depoje publike ku lejohen proxy publikë, zgjidhni kandidat nga lista e proxy-ve HTTP.
git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin
URL-ja e proxy-t përfshin skemën e transportit. Një remote HTTPS mund të përdorë proxy HTTP të zakonshëm me CONNECT; skema HTTPS e remote-it nuk kërkon ndryshimin e URL-së së proxy-t në HTTPS.
Kontrolloni çfarë zgjodhi Git realisht
Nëse rezultati është i papritur, kontrolloni vlerën e zgjedhur për URL-në remote reale:
git -C project config get --show-origin \
--url=https://example.com/team/project.git http.proxy
Përdorni remote-in tuaj të vërtetë HTTPS në atë kërkim. Git mund të ketë cilësime sistemi, përdoruesi, depoje, vije komande dhe specifike për URL. Duke parë vetëm një vlerë globale http.proxy mund të humbisni një rregull më specifik. Dalja e origjinës ndihmon të gjeni skedarin ose burimin e komandës pas rezultatit.
Cilësimi lokal vlen për qasjen HTTP nga ajo depo, jo vetëm për një degë. Një depo me disa remote HTTP mund ta përdorë për më shumë se i pari i testuar. Ka cilësime HTTP specifike për URL nëse ju duhet përputhje më e ngushtë.
Para se të ekzistojë kopja e punës
Për klonimin fillestar, zgjidhni nëse mbivendosja duhet të vazhdojë; për ta kufizuar te ajo thirrje Git, përdorni:
git -c http.proxy=http://203.0.113.10:8080 \
clone https://example.com/team/project.git
Mbivendosja nga vija e komandës nuk bëhet vetë hyrje e përhershme konfigurimi në kopjen e re. Vendosni pastaj vlerë lokale nëse operacionet fetch të mëvonshme duhet të përdorin atë rrugë.
Një remote SSH është rast tjetër
Remote që nis me git@host: ose ssh:// përdor SSH. Cilësimi proxy HTTP i Git nuk e kthen në transferim HTTP. Kontrolloni transportin e remote-it para se të zëvendësoni një IP proxy që punon vetëm sepse operacioni SSH ende dështon.
Kur mbivendosja lokale s’ju duhet më, hiqni vetëm atë çelës:
git -C project config unset --local http.proxy
Heqja bën që konfigurimi i zbatueshëm nga burime të tjera të vlejë përsëri. Nuk është komandë për fshirjen e çdo cilësimi proxy në makinë.