Naudokite tarpinį serverį vienai Git saugyklai
Nustatykite saugyklos vietinį HTTP tarpinį serverį, patikrinkite Git parinktą konfigūraciją nuotoliniam URL ir pašalinkite pakeitimą, kai jo nebereikia.
Vien dėl to, kad vienam projektui reikia kitokio ryšio, nereikia visuotinio Git tarpinio serverio. Esama darbinė kopija turi vietinę konfigūraciją, tad pakeitimą galite palikti toje saugykloje.
Pavyzdžiai naudoja dabartines git config set/get/unset komandas. Projekto katalogas, nuotolinis URL ir dokumentacijos IP yra vietaženkliai. Viešos saugyklos testui, kuriame leidžiami vieši tarpiniai serveriai, rinkitės kandidatą iš HTTP tarpinių serverių sąrašo.
git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin
Tarpinio serverio URL apima perdavimo schemą. HTTPS nuotolinė saugykla gali naudoti įprastą HTTP tarpinį serverį su CONNECT; nuotolinio adreso HTTPS schema nereikalauja pakeisti tarpinio serverio URL į HTTPS.
Patikrinkite, ką Git iš tiesų parinko
Jei rezultatas netikėtas, patikrinkite tikram nuotoliniam URL parinktą reikšmę:
git -C project config get --show-origin \
--url=https://example.com/team/project.git http.proxy
Užklausoje naudokite savo tikrą HTTPS nuotolinę saugyklą. Git gali turėti sistemos, naudotojo, saugyklos, komandų eilutės ir konkretaus URL nustatymus. Žiūrint vien visuotinę http.proxy reikšmę galima praleisti konkretesnę taisyklę. Kilmės išvestis padeda nustatyti failą ar komandų eilutės šaltinį, nulėmusį rezultatą.
Vietinis nustatymas taikomas HTTP prieigai iš tos saugyklos, ne tik vienai šakai. Saugykla su keliomis nuotolinėmis HTTP saugyklomis gali jį naudoti ir kitoms nei pirmoji bandyta. Siauresniam atitikimui yra konkretaus URL HTTP nustatymai.
Kol darbinės kopijos dar nėra
Pradiniam klonavimui pasirinkite, ar pakeitimas turi išlikti; norėdami apriboti jį šiuo Git iškvietimu, naudokite:
git -c http.proxy=http://203.0.113.10:8080 \
clone https://example.com/team/project.git
Komandų eilutės pakeitimas savaime netampa nuolatiniu naujos darbinės kopijos konfigūracijos įrašu. Vėliau nustatykite vietinę reikšmę, jei paskesni fetch veiksmai turi naudoti tą kelią.
SSH nuotolinė saugykla yra kitas atvejis
Nuotolinis adresas, prasidedantis git@host: ar ssh://, naudoja SSH. Git HTTP tarpinio serverio nustatymas jo nepaverčia HTTP perdavimu. Prieš keisdami veikiantį tarpinio serverio IP tik todėl, kad SSH veiksmas vis dar žlunga, patikrinkite nuotolinio adreso perdavimo būdą.
Kai vietinio pakeitimo nebereikia, pašalinkite tik tą raktą:
git -C project config unset --local http.proxy
Pašalinus vėl pradeda galioti taikoma kitų šaltinių konfigūracija. Tai nėra komanda visiems kompiuterio tarpinio serverio nustatymams ištrinti.