Адна канфігурацыя Git можа абслугоўваць два зусім розныя маршруты: знешні хост, дасягнуты праз дазволены проксі, і ўнутраны хост, дасягнуты напрамкі. Вам не даводзіцца змяняць глабальнае значэнне па змаўчанні пры кожным пераключэнні рэпазіторыя.

Git падтрымлівае HTTP-канфігурацыю для пэўных URL. Напрыклад:

[http]
    proxy = http://proxy.example:8080
[http "https://git.office.example/"]
    proxy =

Для знешняга публічнага рэпазіторыя, дзе публічныя проксі дазволеныя, спіс HTTP-проксі прапануе кандыдатаў для канчатковай кропкі па змаўчанні. Пустое значэнне — гэта яўнае перавызначэнне для адпаведнага URL. Яно адрозніваецца ад выдалення таго больш канкрэтнага ключа, што можа зноў адкрыць агульны проксі.

Супстаўце URL, які выкарыстоўвае Git

Схема, імя хоста, порт, шлях і неабавязковае імя карыстальніка ўдзельнічаюць у дакументаваных правілах супастаўлення. Не ўспрымайце падраздзел URL як агульны выраз з сімваламі падстаноўкі shell. Больш вузкае правіла шляху можа перамагчы шырэйшае правіла хоста.

Для прагляду адпаведнай канфігурацыі проксі толькі для чытання:

git config --get-urlmatch http.proxy https://git.office.example/team/project.git

Гэта правярае супастаўленне канфігурацыі. Гэта не сеткавы тэст і не даказвае, што маршрут дасяжны. Улічвайце таксама іншыя абсягі канфігурацыі і адпаведныя налады асяроддзя.

Перанакіраванне — гэта не новае супастаўленне канфігурацыі

Дакументацыя Git кажа, што супастаўляюцца URL, якія непасрэдна перадаюцца камандам Git; URL, наведаныя з-за перанакіравання, не ўдзельнічаюць у гэтым супастаўленні. Памятайце пра гэтае абмежаванне, калі першы хост перанакіроўвае спампоўкі ў іншае месца.

Маршрут таксама павінен адпавядаць транспарту. SSH-аддалены рэпазіторый не кіруецца падраздзелам HTTP URL проста таму, што тая ж служба прапануе вэб-сайт HTTPS.

Выкарыстайце некалькі мэтанакіраваных правілаў, затым праверце вынік для паказальных URL. Доўгае назапашванне глабальных, лакальных для рэпазіторыя і спецыфічных для URL запісаў проксі значна цяжэй асэнсаваць, чым сеткавае адрозненне, якое вы спрабавалі выказаць.

Падобныя артыкулы