Huhitaji proksi ya Git ya kimataifa kwa sababu tu mradi mmoja unahitaji muunganisho tofauti. Nakala ya kazi iliyopo ina usanidi wake wa karibu, hivyo unaweza kuweka badiliko katika hazina hiyo.

Mifano hii inatumia amri za sasa git config set/get/unset. Saraka ya mradi, URL ya mbali na IP ya nyaraka ni vishikilia nafasi. Kwa jaribio la hazina ya umma ambapo proksi za umma zimeruhusiwa, chagua mgombea kutoka orodha ya proksi za HTTP.

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

URL ya proksi inajumuisha skimu yake ya usafirishaji. Remote ya HTTPS inaweza kutumia proksi ya kawaida ya HTTP yenye CONNECT; skimu ya HTTPS ya remote hailazimishi kubadili URL ya proksi kuwa HTTPS.

Hakiki kile Git ilichochagua kweli

Matokeo yakiwa yasiyotarajiwa, kagua thamani iliyochaguliwa kwa URL halisi ya mbali:

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

Tumia remote yako halisi ya HTTPS katika swali hilo. Git inaweza kuwa na mipangilio ya mfumo, mtumiaji, hazina, mstari wa amri na ya URL maalumu. Kutazama thamani ya kimataifa ya http.proxy pekee kunaweza kukosa kanuni mahsusi zaidi. Taarifa ya chanzo husaidia kutambua faili au mstari wa amri uliotoa matokeo.

Mpangilio wa karibu unahusu ufikiaji wa HTTP kutoka hazina hiyo, si tawi moja tu. Hazina yenye remote kadhaa za HTTP inaweza kuutumia kwa zaidi ya ile ya kwanza iliyojaribiwa. Mipangilio ya HTTP ya URL maalumu ipo ukihitaji ulinganifu mwembamba zaidi.

Kabla nakala ya kazi haijaundwa

Kwa clone ya kwanza, chagua kama ubatilishaji udumu; kuuzuia kwa mwito huo wa Git pekee, tumia:

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

Ubatilishaji wa mstari wa amri hauwi wenyewe ingizo la kudumu katika usanidi wa nakala mpya. Weka thamani ya karibu baadaye ikiwa fetch zinazofuata zinapaswa kutumia njia hiyo.

Remote ya SSH ni hali tofauti

Remote inayoanza na git@host: au ssh:// hutumia SSH. Mpangilio wa proksi ya HTTP wa Git hauibadili kuwa uhamisho wa HTTP. Kagua usafirishaji wa remote kabla ya kubadili IP ya proksi inayofanya kazi kwa sababu tu operesheni ya SSH bado inashindwa.

Ubatilishaji wa karibu usipohitajika, ondoa ufunguo huo tu:

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

Kuondoa kunafanya usanidi unaotumika kutoka vyanzo vingine uonekane tena. Si amri ya kufuta mipangilio yote ya proksi kwenye mashine.

Makala zinazohusiana