Начало работы с прокси-сервером - PullRequest
846 голосов
/ 24 апреля 2009

Как мне заставить git использовать прокси-сервер?

Мне нужно проверить код с git-сервера, он показывает «Время ожидания запроса» каждый раз Как мне обойти это?

В качестве альтернативы, как я могу установить прокси-сервер?

Ответы [ 19 ]

1529 голосов
/ 07 октября 2013

Используемая команда:

git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
  • изменить proxyuser на прокси-пользователя
  • изменить proxypwd на ваш пароль прокси
  • измените proxy.server.com на URL вашего прокси-сервера
  • измените 8080 на прокси-порт, настроенный на вашем прокси-сервере

Если вы в любое время решите сбросить этот прокси и работать без прокси:

Используемая команда:

git config --global --unset http.proxy

Наконец, чтобы проверить текущий установленный прокси:

git config --global --get http.proxy
125 голосов
/ 24 ноября 2011

Это сработало для меня в Windows XP за корпоративным брандмауэром.

Мне не нужно было устанавливать какой-либо локальный прокси или любое другое программное обеспечение, кроме git v1.771 из http://code.google.com/p/msysgit/downloads/list?can=3

$ git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080
$ git config --system http.sslcainfo /bin/curl-ca-bundle.crt
$ git remote add origin https://mygithubuser:mygithubpwd@github.com/repoUser/repoName.git
$ git push origin master

proxyuser = прокси-пользователь, который был назначен нашим ИТ-отделом, в моем случае это тот же пользователь Windows, которого я использую для входа на свой ПК, пользователь Active Directory

proxypwd = пароль моего прокси-пользователя

proxy.server.com: 8080 = имя и порт прокси-сервера, я получил его из Панели управления, Свойства обозревателя, Соединения, Кнопка настроек Lan, Кнопка Дополнительно в разделе Прокси-сервер, используйте имя сервера. и порт в первой строке (http).

mygithubuser = пользователь, которого я использую для входа на github.com

mygithubpwd = пароль для моего пользователя github.com

repoUser = пользователь-владелец репо

repoName = имя репо

48 голосов
/ 01 июля 2010

Установите системную переменную с именем http_proxy со значением ProxyServer:Port. Это самое простое решение. Соответственно, используйте https_proxy, как указано в комментариях daefu.

Установка gitproxy (как упоминает sleske) - это еще один вариант, но для этого требуется «команда», которая не так проста, как приведенное выше решение.

Ссылка: http://bardofschool.blogspot.com/2008/11/use-git-behind-proxy.html

37 голосов
/ 25 мая 2012

Если способ настройки прокси-сервера в командной строке не работает, вы, вероятно, можете просто отредактировать .gitconfig (в корне вашего профиля, который может скрываться как в C: \ Documents and Settings, так и на каком-то сетевом диске) и добавить это:

[http]
    proxy = http://username:password@proxy.at.your.org:8080

YMMV, однако, это только первый шаг конфигурации командной строки. Возможно, вам также придется отредактировать системную конфигурацию git, и я понятия не имею, где они это спрятали.

29 голосов
/ 05 октября 2016

В качестве альтернативы использованию git config --global http.proxy address:port вы можете установить прокси в командной строке:

git -c "http.proxy=address:port" clone https://...

Преимущество заключается в том, что прокси не установлен постоянно. Под Bash вы можете установить псевдоним:

alias git-proxy='git -c "http.proxy=address:port"'
19 голосов
/ 15 января 2014

Если вы используете Ubuntu, сделайте следующее ...

Шаг 1: Установите штопор

$ sudo apt-get install corkscrew

Шаг 2: Напишите скрипт с именем git-proxy.sh и добавьте следующий

#!/bin/sh

exec corkscrew <name of proxy server> <port> $*

# <name_of_proxy_server> and <port> are the ip address and port of the server
# e.g. exec corkscrew 192.168.0.1 808 $*

Шаг 3: сделать исполняемый скрипт

$ chmod +x git-proxy.sh

Шаг 4: Настройте прокси-команду для GIT, установив переменную среды

$ export GIT_PROXY_COMMAND="/<path>/git-proxy.sh"

Теперь используйте команды git, такие как

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
11 голосов
/ 02 июля 2017

Столкнулся с той же проблемой из-за нескольких файлов .gitconfig в Windows, следуя приведенным ниже инструкциям, чтобы исправить то же самое:

Шаг 1: Открыть Git BASH

Шаг 2: Найдите .gitconfig, выполнив следующую команду:

git config --list --global --show-origin

Шаг 3: Скопируйте приведенный ниже контент в .gitconfig:

[http]
    proxy = http://YOUR_PROXY_USERNAME:YOUR_PROXY_PASSWORD@YOUR.PROXY.SERVER:YOUR.PROXY.SERVER.PORT
    sslverify = false
[https]
    proxy = http://YOUR_PROXY_USERNAME:YOUR_PROXY_PASSWORD@YOUR.PROXY.SERVER:YOUR.PROXY.SERVER.PORT
    sslverify = false
[url "http://github.com/"]
    insteadOf = git://github.com/

[user]
    name = Arpit Aggarwal
    email = aggarwalarpit.89@gmail.com
10 голосов
/ 22 февраля 2017

Попробуйте добавить в файл ~ / .gitconfig следующее:

[http]
    proxy = http://proxy:8080
[https]
    proxy = http://proxy:8080
[url "https://"]
    insteadOf = git://
7 голосов
/ 12 октября 2015

Для протокола git (git: // ...) установите socat и напишите такой скрипт, как:

#!/bin/sh

exec socat - socks4:your.company.com:$1:$2

сделайте его исполняемым, поместите его в свой путь и в своем ~/.gitconfig установите core.gitproxy на имя этого сценария.

5 голосов
/ 08 марта 2019

Я кое-что заметил и хочу поделиться здесь:

git config --global http.proxy http://<proxy address>:<port number>

Приведенный выше метод не будет работать для URL-адресов ssh: (т.е. git@github.com:<user name>/<project name>.git)

git clone git@github.com:<user name>/<project name>.git // this will not use the above proxy!

И ничего не изменится, если мы установим SSH через порт HTTPS (https://help.github.com/en/articles/using-ssh-over-the-https-port), потому что он только меняет порт (по умолчанию 22), к которому подключается ssh-соединение.

(не носитель языка, при необходимости уточните мои слова)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...