In globale Git-proxy is net nedich allinnich om’t ien projekt in oare ferbining nedich hat. In besteande wurkkopy hat eigen lokale konfiguraasje, sadat de feroaring by dy repository bliuwe kin.

Dizze foarbylden brûke de hjoeddeiske git config set/get/unset-kommando’s. De projektmap, remote-URL en dokumintaasje-IP binne plakhâlders. Kies foar in test fan in iepenbiere repository dêr’t iepenbiere proxy’s tastien binne in kandidaat út de list mei HTTP-proxy’s.

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

De proxy-URL befettet syn transportskema. In HTTPS-remote kin in gewoane HTTP-proxy mei CONNECT-stipe brûke; it HTTPS-skema fan de remote fereasket net dat de proxy-URL nei HTTPS feroaret.

Kontrolearje wat Git echt keazen hat

Is it resultaat ûnferwachte, besjoch dan de wearde dy’t foar de echte remote-URL selektearre is:

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

Brûk dyn echte HTTPS-remote yn de opfraach. Git kin systeem-, brûkers-, repository-, kommandorigel- en URL-spesifike ynstellingen hawwe. Allinnich nei in globale http.proxy-wearde sjen kin in spesifiker regel misse. De oarsprongsútfier helpt de triem of kommandorigelboarne efter it resultaat te finen.

De lokale ynstelling jildt foar HTTP-tagong út dy repository, net inkeld foar in bepaalde tûke. In repository mei mear HTTP-remotes kin har dus foar mear brûke as de earst teste remote. URL-spesifike HTTP-ynstellingen binne beskikber foar smellere oerienkomst.

Foar’t de wurkkopy bestiet

Foar de earste kloon, kies oft de oerskriuwing bewarre bliuwe moat; om har ta dy Git-oanrop te beheinen, brûk:

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

De kommandorigeloerskriuwing wurdt net fansels in permaninte konfiguraasjeyngong yn de nije wurkkopy. Stel dêrnei in lokale wearde yn as lettere fetches dy rûte brûke moatte.

In SSH-remote is in oar gefal

In remote dy’t mei git@host: of ssh:// begjint, brûkt SSH. De HTTP-proxyynstelling fan Git makket der gjin HTTP-oerdracht fan. Kontrolearje it transport fan de remote foar’tst in wurkjend proxy-IP ferfangst allinnich om’t in SSH-operaasje noch mislearret.

As de lokale oerskriuwing net mear winske is, helje allinnich dy kaai fuort:

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

Dêrnei jildt tapaslike konfiguraasje út oare boarnen wer. It is gjin kommando om alle proxyynstellingen op de masine te wiskjen.

Relatearre artikelen