M’għandekx bżonn proxy Git globali sempliċement għax proġett wieħed jeħtieġ konnessjoni differenti. Checkout eżistenti għandu konfigurazzjoni lokali tiegħu, għalhekk tista’ żżomm il-bidla f’dak ir-repożitorju.

Dawn l-eżempji jużaw il-kmandi kurrenti git config set/get/unset. Id-direttorju tal-proġett, il-URL remot u l-IP tad-dokumentazzjoni huma placeholders. Għal test ta’ repożitorju pubbliku fejn proxies pubbliċi huma permessi, agħżel kandidat mil-lista ta’ proxies HTTP.

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

Il-URL tal-proxy jinkludi l-iskema tat-trasport tiegħu. Remote HTTPS jista’ juża proxy HTTP ordinarju li jappoġġja CONNECT; l-iskema HTTPS tar-remote ma teħtieġx tibdel il-URL tal-proxy għal HTTPS.

Iċċekkja x’għażel Git tassew

Jekk ir-riżultat mhux mistenni, eżamina l-valur magħżul għall-URL remot reali:

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

Uża r-remote HTTPS reali tiegħek f’dik il-mistoqsija. Git jista’ jkollu settings tas-sistema, tal-utent, tar-repożitorju, tal-linja tal-kmand u speċifiċi għall-URL. Li tħares biss lejn valur globali http.proxy jista’ jitlef regola aktar speċifika. L-output tal-oriġini jgħin jidentifika l-fajl jew is-sors tal-kmand wara r-riżultat.

Is-setting lokali japplika għall-aċċess HTTP minn dak ir-repożitorju, mhux biss għal fergħa partikolari. Repożitorju b’diversi remotes HTTP jista’ għalhekk jużah għal aktar minn dak li ttestjajt l-ewwel. Settings HTTP speċifiċi għall-URL huma disponibbli għal tqabbil idjaq.

Qabel ma jeżisti l-checkout

Għall-clone inizjali, agħżel jekk is-sostituzzjoni għandhiex tibqa’; biex tillimitaha għal dik is-sejħa Git, uża:

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

Is-sostituzzjoni tal-linja tal-kmand ma ssirx waħedha entrata permanenti fil-konfigurazzjoni tal-checkout il-ġdid. Issettja valur lokali wara jekk fetch sussegwenti għandu juża dik ir-rotta.

Remote SSH huwa każ differenti

Remote li jibda b’git@host: jew ssh:// juża SSH. Is-setting tal-proxy HTTP ta’ Git ma jbiddlux fi trasferiment HTTP. Iċċekkja t-trasport tar-remote qabel tibdel IP ta’ proxy li jaħdem sempliċement għax operazzjoni SSH għadha tfalli.

Meta s-sostituzzjoni lokali ma tibqax mixtieqa, neħħi dik iċ-ċavetta biss:

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

It-tneħħija tħalli terġa’ tapplika konfigurazzjoni minn sorsi oħra. Mhuwiex kmand biex tħassar kull setting tal-proxy fuq il-magna.

Artikli relatati