Nav vajadzīgs globāls Git starpniekserveris tikai tāpēc, ka vienam projektam vajag citu savienojumu. Esošai darba kopijai ir sava lokālā konfigurācija, tāpēc izmaiņa var palikt šajā repozitorijā.

Piemēri izmanto pašreizējās git config set/get/unset komandas. Projekta direktorijs, attālais URL un dokumentācijas IP ir vietturi. Publiska repozitorija pārbaudē, kur atļauti publiski starpniekserveri, izvēlieties kandidātu no HTTP starpniekserveru saraksta.

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

Starpniekservera URL ietver pārraides shēmu. HTTPS attālais repozitorijs var izmantot parastu HTTP starpniekserveri ar CONNECT; attālā URL HTTPS shēma neprasa mainīt starpniekservera URL uz HTTPS.

Pārbaudiet, ko Git patiesībā izvēlējās

Ja rezultāts ir negaidīts, pārbaudiet vērtību, kas izvēlēta īstajam attālajam URL:

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

Vaicājumā izmantojiet savu īsto HTTPS attālo repozitoriju. Git var būt sistēmas, lietotāja, repozitorija, komandrindas un URL specifiski iestatījumi. Skatot tikai globālu http.proxy vērtību, var palaist garām konkrētāku noteikumu. Izcelsmes izvade palīdz atrast failu vai komandrindas avotu, kas noteicis rezultātu.

Lokālais iestatījums attiecas uz HTTP piekļuvi no šī repozitorija, nevis tikai noteiktu zaru. Repozitorijs ar vairākiem HTTP attālajiem repozitorijiem tādēļ var to izmantot arī citiem, ne tikai sākotnēji pārbaudītajam. Šaurākai atbilstībai ir URL specifiski HTTP iestatījumi.

Pirms darba kopijas izveides

Sākotnējā klonēšanā izlemiet, vai pārrakstīšanai jāsaglabājas; lai to ierobežotu ar šo Git izsaukumu, izmantojiet:

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

Komandrindas pārrakstīšana pati par sevi nekļūst par pastāvīgu ierakstu jaunās darba kopijas konfigurācijā. Pēc tam iestatiet lokālu vērtību, ja vēlākām fetch darbībām jāizmanto šis maršruts.

SSH attālais repozitorijs ir cits gadījums

Attālais URL, kas sākas ar git@host: vai ssh://, izmanto SSH. Git HTTP starpniekservera iestatījums to nepārvērš HTTP pārraidē. Pirms maināt strādājošu starpniekservera IP tikai tāpēc, ka SSH darbība joprojām neizdodas, pārbaudiet attālā URL transportu.

Kad lokālā pārrakstīšana vairs nav vajadzīga, noņemiet tikai šo atslēgu:

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

Noņemšana atkal ļauj darboties atbilstošajai citu avotu konfigurācijai. Tā nav komanda visu starpniekservera iestatījumu dzēšanai datorā.

Saistītie raksti