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

Я использую msysgit из-за прокси-сервера. Как я сказал в вопросе Получение git для работы с прокси-сервером

Я установил системную переменную http_proxy в значение. Позже я звоню

git config --global http.proxy $http_proxy

Однако, если я вызываю что-то вроде:

git clone git://git.savannah.gnu.org/gnuprologjava.git

Он выдает следующую ошибку:

git.savannah.gnu.org[0; 140.186.70.72]: errno=No error
fatal: unable to connect a socket (No error)

Ответы

Ответ 1

Если вы находитесь за прокси-сервером http, вы должны использовать http git urls. Страница UsingGit на Savannah.gnu.org сообщает вам правильный синтаксис для этого. Для этого репо:

git clone http://git.savannah.gnu.org/r/gnuprologjava.git

Ответ 2

Когда вы находитесь в Linux, см. эту страницу.

В окнах я решил это так;

Установите Cygwin и выберите пакет socat. Создайте script gitproxy.cmd и сохраните его в пути (я использовал C:\msysgit\cmd\gitproxy.cmd):

@echo off
C:\cygwin\bin\socat.exe - PROXY:192.168.100.1:\%1:\%2,proxyport=3128

(замените 192.168.100.1 и 3128 своим собственным прокси-сервером/портом)

Для настройки прокси выполните следующую строку:

git config --global core.gitproxy gitproxy.cmd

Обратите внимание, что прокси-сервер должен принять команду CONNECT для порта git (9418). Я добавил следующие строки в конфигурацию squid, чтобы сделать эту работу:

acl SSL_ports port 9418         # git
acl Safe_ports port 9418        # git

(т.е. настроить порт 9418 так же, как порт 443 на прокси-сервере)

Ответ 3

Как на это ответили многие, но это просто для Winodws ПОЛЬЗОВАТЕЛЬ, который находится за прокси-сервером с auth.

Повторная установка (сначала не удалось, Не удалять).

Goto: 
1. msysgit\installer-tmp\etc\gitconfig
    Under [http]
        proxy = http://user:[email protected]:port
2. msysgit\installer-tmp\setup-msysgit.sh
      export HTTP_PROXY="http://USER:[email protected]:8080"

если у вас есть специальный char в использовании пользователя/пароля url_encode

Варианты 2: Установите переменную среды

HTTP_PORXY = http://proxy.com:8080