Git работает в прокси-среде, устанавливая параметр конфигурации http.proxy.
Для определенных адресов мне нужно обойти прокси. Есть ли параметр конфигурации без прокси/байпас-прокси?
Git работает в прокси-среде, устанавливая параметр конфигурации http.proxy.
Для определенных адресов мне нужно обойти прокси. Есть ли параметр конфигурации без прокси/байпас-прокси?
Прокси-сервер можно переопределить на удаленном уровне - см. http://git-scm.com/docs/git-config (найдите настройки "http.proxy" и "remote. <name> .proxy" ). Предполагая, что у вас есть удаленный вызов "origin", тогда команда, которую вы можете использовать для обхода прокси для этого пульта, следующая:
git config --add remote.origin.proxy ""
Чтобы обойти прокси-сервер для определенного, обычно локального адреса, все, что вам нужно сделать, это:
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
Убедитесь, что у вас есть 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
.
Принятый ответ требует, чтобы 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
Теперь у вас будет репо, чтобы применить принятый ответ.
Из-за роли пользователя Windows/Unix, если вы не можете удалить http_proxy из командной строки, попробуйте этот подход -
git config -l --show-origin
Это будет печатать конфигурации на основе файлов в соответствии с иерархией. Теперь перейдите к определенному файлу (локальному файлу .git/config) и обновите/удалите http_proxy.
Надеюсь это поможет.
export http_proxy=http://username:[email protected]:port
export no_proxy=myhost, myhost:port
просто выполните команду ниже в командной строке
git config --global http.proxy [Proxy IP]:[Proxy port]