Nem kell globális Git-proxy csak azért, mert egy projekt más kapcsolatot igényel. Egy meglévő munkapéldány saját helyi konfigurációval rendelkezik, így a változtatás annál a tárolónál maradhat.

A példák az aktuális git config set/get/unset parancsokat használják. A projektkönyvtár, a távoli URL és a dokumentációs IP helyőrzők. Nyilvános tároló teszteléséhez, ahol a nyilvános proxyk használata megengedett, válasszon a HTTP-proxyk listájáról.

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

A proxy URL-je tartalmazza az átviteli sémát. A HTTPS-távoli tároló használhat szokásos, CONNECT-képes HTTP-proxyt; a távoli URL HTTPS-sémája nem követeli meg a proxy URL-jének HTTPS-re cserélését.

Ellenőrizze, mit választott ténylegesen a Git

Ha az eredmény váratlan, nézze meg a valódi távoli URL-hez kiválasztott értéket:

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

A lekérdezésben a tényleges HTTPS-távoli tárolót használja. A Gitnek lehetnek rendszer-, felhasználó-, tároló-, parancssori és URL-specifikus beállításai. Egy globális http.proxy érték önmagában elrejthet egy konkrétabb szabályt. Az eredet kiírása segít azonosítani a fájlt vagy parancssori forrást.

A helyi beállítás a tárolóból végzett HTTP-alapú elérésre vonatkozik, nem csak egy ágra. Több HTTP-távoli címmel a tároló ezért az elsőként teszteltnél többre is használhatja. Szűkebb illesztéshez vannak URL-specifikus HTTP-beállítások.

A munkapéldány létrejötte előtt

Az első klónozáskor döntse el, hogy a felülbírálás tartós legyen-e; az adott Git-hívásra korlátozáshoz ezt használja:

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

A parancssori felülbírálás önmagában nem válik állandó beállítássá az új munkapéldányban. Később állítson helyi értéket, ha a további fetch műveleteknek ezt az útvonalat kell használniuk.

Az SSH-távoli tároló más eset

A git@host: vagy ssh:// kezdetű távoli cím SSH-t használ. A Git HTTP-proxybeállítása nem alakítja HTTP-átvitellé. Ellenőrizze a távoli cím átviteli módját, mielőtt egy működő proxy-IP-t lecserél csak azért, mert egy SSH-művelet továbbra is hibázik.

Ha a helyi felülbírálás már nem kell, csak ezt a kulcsot távolítsa el:

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

Az eltávolítás után más források alkalmazható konfigurációja újra érvényesül. Ez nem törli a gép összes proxybeállítását.

Kapcsolódó cikkek