Проксі для одного репозиторію 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
Видалення знову дає діяти застосовній конфігурації інших джерел. Це не команда видалення всіх налаштувань проксі на машині.