Подтвердить что ты не робот

Git прокси-шлюз

Git работает в прокси-среде, устанавливая параметр конфигурации http.proxy.

Для определенных адресов мне нужно обойти прокси. Есть ли параметр конфигурации без прокси/байпас-прокси?

4b9b3361

Ответ 1

Прокси-сервер можно переопределить на удаленном уровне - см. http://git-scm.com/docs/git-config (найдите настройки "http.proxy" и "remote. <name> .proxy" ). Предполагая, что у вас есть удаленный вызов "origin", тогда команда, которую вы можете использовать для обхода прокси для этого пульта, следующая:

git config --add remote.origin.proxy ""

Ответ 2

Чтобы обойти прокси-сервер для определенного, обычно локального адреса, все, что вам нужно сделать, это:

export no_proxy=URLToIgnore

Где URLToIgnore - это URL-адрес, который вы хотите Git игнорировать.  Вы также можете игнорировать URL-адреса, заканчивающиеся на определенное слово.

export no_proxy=.mylocal

Если все URL-адреса, заканчивающиеся на .mylocal, будут проигнорированы. Чтобы игнорировать несколько URL-адресов:

export no_proxy=.mylocal URLToIgnore

Чтобы сделать его постоянным, добавьте его в свой ~/username/.bash_profile файл. Если вы не можете найти файл .bash_profile в корневом каталоге пользователя, создайте его вручную.

Подробнее: Как временно отключить git http proxy

Ответ 3

Убедитесь, что у вас есть Git 2.1. 2+, если вы хотите установить в конфигурации пустое значение, например

git config --add remote.origin.proxy ""

Потому что, если вы решите восстановить прокси для этого удаленного устройства (здесь 'origin')... , то это приведет к ошибке с Git старше 2.1.2 (30 сентября 2014 г.)

См. commit c846664 (tanayabh)

.make config --add ведет себя корректно для пустых и NULL значений

В настоящее время, если у нас есть файл конфигурации, например,

[foo]
        baz
        bar =

и мы попробуем что-то вроде "git config --add foo.baz roll", Git будет segfault. Более того, для "git config --add foo.bar roll" оно будет перезаписывать исходное значение вместо добавления после существующего пустого значения.

Проблема заключается в регулярном выражении, используемом для моделирования --add в git_config_set_multivar_in_file(), "^$", которое в идеальном случае не должно совпадать ни с одной строкой, но верно для пустых строк.
Вместо этого используйте регулярное выражение типа "a^", которое не может быть истинным для любой строки, пустой или нет.

Для удаления ошибки сегмента добавьте проверку значений NULL в matches() в config.c.

Ответ 4

Принятый ответ требует, чтобы git-репо существовал до начала работы, и второй лучший ответ answer работает только для linux & Макинтош Поэтому в Windows, чтобы он работал для https://git-url.com/project/repo-name.git, попробуйте следующее в командной строке

set no_proxy=git-url.com

затем

git clone git-url.com/repo-name.git

Теперь у вас будет репо, чтобы применить принятый ответ.

Ответ 5

Из-за роли пользователя Windows/Unix, если вы не можете удалить http_proxy из командной строки, попробуйте этот подход -

git config -l --show-origin

Это будет печатать конфигурации на основе файлов в соответствии с иерархией. Теперь перейдите к определенному файлу (локальному файлу .git/config) и обновите/удалите http_proxy.

Надеюсь это поможет.

Ответ 6

export http_proxy=http://username:[email protected]:port
export no_proxy=myhost, myhost:port

Ответ 7

просто выполните команду ниже в командной строке

git config --global http.proxy [Proxy IP]:[Proxy port]