Използвайте прокси за едно Git хранилище
Задайте локално HTTP прокси за хранилището, проверете избраната от Git конфигурация за отдалечения URL и премахнете заместването, когато не е нужно.
Не ви трябва глобално Git прокси само защото един проект изисква друга връзка. Съществуващото работно копие има своя локална конфигурация, така че промяната може да остане в това хранилище.
Примерите използват текущите команди git config set/get/unset. Директорията на проекта, отдалеченият URL и документационният IP са заместители. За тест на публично хранилище, при който публичните проксита са разрешени, изберете кандидат от списъка с HTTP проксита.
git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin
URL адресът на проксито включва транспортната схема. Отдалечено HTTPS хранилище може да използва обикновено HTTP прокси с CONNECT; HTTPS схемата на отдалечения URL не изисква промяна на прокси URL към HTTPS.
Проверете какво всъщност е избрал Git
Ако резултатът е неочакван, проверете стойността, избрана за действителния отдалечен URL:
git -C project config get --show-origin \
--url=https://example.com/team/project.git http.proxy
Използвайте истинското си отдалечено HTTPS хранилище в заявката. Git може да има системни, потребителски, хранилищни, командни и URL-специфични настройки. Само глобална стойност http.proxy може да пропусне по-конкретно правило. Изходът с произхода помага да се намери файлът или командният източник зад резултата.
Локалната настройка се отнася за HTTP достъп от това хранилище, не само за определен клон. Хранилище с няколко отдалечени HTTP адреса може да я използва и за други освен първия тестван. За по-тясно съвпадение има URL-специфични HTTP настройки.
Преди да съществува работното копие
За началното клониране решете дали заместването трябва да се запази; за да го ограничите до това извикване на Git, използвайте:
git -c http.proxy=http://203.0.113.10:8080 \
clone https://example.com/team/project.git
Заместването от командния ред само не става постоянен конфигурационен запис в новото копие. След това задайте локална стойност, ако бъдещите fetch операции трябва да използват този маршрут.
Отдалечен SSH адрес е друг случай
Отдалечен адрес, започващ с git@host: или ssh://, използва SSH. HTTP прокси настройката на Git не го превръща в HTTP трансфер. Проверете транспорта на отдалечения адрес, преди да замените работещ прокси IP само защото SSH операция продължава да се проваля.
Когато локалното заместване вече не е нужно, премахнете само този ключ:
git -C project config unset --local http.proxy
Премахването отново допуска приложимата конфигурация от други източници. Това не е команда за изтриване на всички прокси настройки в машината.