Tumia proksi kwa hazina moja ya Git
Weka proksi ya HTTP ya karibu kwa hazina, kagua usanidi ambao Git huchagua kwa URL ya mbali na uondoe ubatilishaji usipohitajika tena.
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.