Et tarvitse yleistä Git-välityspalvelinta vain siksi, että yksi projekti tarvitsee toisen yhteyden. Olemassa olevalla työskentelykopiolla on oma paikallinen määritys, joten muutos voi pysyä siinä tietovarastossa.

Esimerkit käyttävät nykyisiä git config set/get/unset-komentoja. Projektihakemisto, etä-URL ja dokumentaatio-IP ovat paikkamerkkejä. Julkisen tietovaraston testiin, jossa julkiset välityspalvelimet sallitaan, valitse ehdokas HTTP-välityspalvelinten luettelosta.

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

Välityspalvelimen URL sisältää siirtotavan skeeman. HTTPS-etävarasto voi käyttää tavallista CONNECTia tukevaa HTTP-välityspalvelinta; etävaraston HTTPS-skeema ei vaadi välityspalvelin-URL:n vaihtamista HTTPS:ksi.

Tarkista, mitä Git todella valitsi

Jos tulos on odottamaton, tarkista todelliselle etä-URL:lle valittu arvo:

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

Käytä kyselyssä oikeaa HTTPS-etävarastoasi. Gitissä voi olla järjestelmä-, käyttäjä-, tietovarasto-, komentorivi- ja URL-kohtaisia asetuksia. Pelkkä yleinen http.proxy-arvo voi jättää tarkemman säännön huomaamatta. Alkuperätuloste auttaa tunnistamaan tuloksen taustalla olevan tiedoston tai komentorivilähteen.

Paikallinen asetus koskee tietovaraston HTTP-pohjaista käyttöä, ei vain tiettyä haaraa. Useita HTTP-etävarastoja käyttävä tietovarasto voi siksi käyttää sitä muuhunkin kuin ensin testattuun. Rajatumpaan kohdistukseen on URL-kohtaisia HTTP-asetuksia.

Ennen työskentelykopion olemassaoloa

Ensimmäisessä kloonauksessa valitse, jääkö ohitus pysyväksi; rajataksesi sen kyseiseen Git-kutsuun käytä:

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

Komentoriviohitus ei itsessään muutu uuden työskentelykopion pysyväksi määritykseksi. Aseta paikallinen arvo jälkikäteen, jos myöhempien fetch-toimintojen pitää käyttää reittiä.

SSH-etävarasto on eri tapaus

git@host:- tai ssh://-alkuinen etäosoite käyttää SSH:ta. Gitin HTTP-välityspalvelinasetus ei muuta sitä HTTP-siirroksi. Tarkista etävaraston siirtotapa ennen toimivan välityspalvelin-IP:n vaihtamista vain siksi, että SSH-toiminto yhä epäonnistuu.

Kun paikallista ohitusta ei enää haluta, poista vain kyseinen avain:

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

Poistaminen tuo muiden lähteiden soveltuvan määrityksen taas esiin. Komento ei poista koneen kaikkia välityspalvelinasetuksia.

Aiheeseen liittyvät artikkelit