Не ви трябва глобално 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

Премахването отново допуска приложимата конфигурация от други източници. Това не е команда за изтриване на всички прокси настройки в машината.

Подобни статии