Как получить информацию из репозитория Git через HTTP-прокси?

Примечание: хотя описанный случай использования относится к использованию подмодулей внутри проекта, то же самое относится и к обычному git clone репозитория по HTTP.

У меня есть проект под управлением Git. Я хочу добавить подмодуль:

git submodule add http://github.com/jscruggs/metric_fu.git vendor/plugins/metric_fu

Но я получаю

...
got 1b0313f016d98e556396c91d08127c59722762d0
got 4c42d44a9221209293e5f3eb7e662a1571b09421
got b0d6414e3ca5c2fb4b95b7712c7edbf7d2becac7
error: Unable to find abc07fcf79aebed56497e3894c6c3c06046f913a under http://github.com/jscruggs/metri...
Cannot obtain needed commit abc07fcf79aebed56497e3894c6c3c06046f913a
while processing commit ee576543b3a0820cc966cc10cc41e6ffb3415658.
fatal: Fetch failed.
Clone of 'http://github.com/jscruggs/metric_fu.git' into submodule path 'vendor/plugins/metric_fu'

У меня настроен HTTP_PROXY:

c:\project> echo %HTTP_PROXY%
http://proxy.mycompany:80

У меня даже есть глобальная настройка Git для http-прокси:

c:\project> git config --get http.proxy
http://proxy.mycompany:80

Кто-нибудь добился того, чтобы HTTP-фетчи стабильно работали через прокси? Что 'действительно странно, так это то, что несколько проектов на GitHub работают нормально (awesome_nested_set, например), но другие постоянно терпят неудачу (rails, например).

Комментарии к вопросу (6)

Вы также можете установить HTTP-прокси, что Git использует в глобальной конфигурации собственность с HTTP.прокси`:

git config --global http.proxy http://proxy.mycompany:80

Для проверки подлинности на прокси-сервере:

git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080/

(Заслуга @EugeneKulabuhov и @JaimeReynoso для формата проверки подлинности.)

Комментарии (16)

Там's некоторые большие ответы на это уже. Однако, я думал, я хотел бы скинуться, так как некоторые прокси-сервера требуется проверка подлинности с помощью имени пользователя и пароля. Иногда это может быть на домене.

Так, например, если ваша конфигурация прокси-сервера выглядит следующим образом:

Server: myproxyserver
Port: 8080
Username: mydomain\myusername
Password: mypassword

Затем, добавить в свой `.файл gitconfig хранит настройки, используя следующую команду:

git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080

Дон'т беспокоиться о с https. Пока указанный прокси-сервер поддержка HTTP и HTTPS, то одна запись в файле конфига будет достаточно.

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

В конце файла вы увидите запись следующим образом:

[http]
    proxy = http://mydomain\\myusername:mypassword@myproxyserver:8080

Что's это!

Комментарии (6)
Решение

В итоге сработала установка переменной окружения http_proxy. Я установил HTTP_PROXY правильно, но git, видимо, больше нравится версия с нижним регистром.

Комментарии (11)

Похоже, что вы используете mingw-компиляцию Git под windows (или, возможно, другую, о которой я не слышал). Есть способы отладить это: Я полагаю, что вся работа http-прокси для git выполняется curl. Установите эту переменную окружения перед запуском git:

GIT_CURL_VERBOSE=1

Это, по крайней мере, даст вам представление о том, что происходит за кулисами.

Комментарии (4)

Если вы просто хотите использовать прокси-сервера на указанном репозитории, Дон'т нужна на другие хранилища. Предпочтительным способом является -с, --конфиг <ключ=значение> опции если вы git клон репозиторий. например

$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git --config "http.proxy=proxyHost:proxyPort"
Комментарии (4)

Когда Сети команды протокола SSL-сертификаты проверки на рерайт, а затем, используя вместо HTTPS в одном, в сочетании с установкой этого ВАР работал для меня URL-адрес http.

git config --global http.proxy http://proxy:8081
Комментарии (7)

Вы могли бы тоже изменить .файл gitconfig хранит настройки находится в каталоге %USERPROFILE% на системе Windows (блокнот в папке %USERPROFILE%.gitconfig хранит настройки) или в ~ каталог на системы Linux (ви ~/.gitconfig хранит настройки) и добавить в разделе HTTP как ниже.

Содержание .файл gitconfig хранит настройки :

[http]
        proxy = http://proxy.mycompany:80
Комментарии (0)

Для меня в Git:// просто не't работа через прокси-сервер, хотя через HTTPS:// совсем. Это вызвало немного головная боль, потому что я был запуск скриптов, все использовал git://, так я не'т так легко изменить их все. Однако я нашел этот камень

git config --global url."https://github.com/".insteadOf git://github.com/
Комментарии (2)

Это старый вопрос, но если вы находитесь на Windows, рассмотрите возможность установки HTTPS_PROXY, а также если вы хотите получить через URL-адрес https. Работал для меня!

Комментарии (3)

Я не нахожу ни с HTTP.прокси-сервер, ниGIT_PROXY_COMMAND работы для моей проверкой подлинности HTTP-прокси. Прокси не срабатывает в любом случае. Но я найду способ обойти эту.

  1. Установите штопор, или другие варианты, которые вы хотите.

  2. Создать authfile. Формат authfile представляет: имя_пользователя:пароль, и имя_пользователя, пароль - это Ваш логин и пароль для доступа к прокси. Чтобы создать такой файл, просто запустите команду: Эхо "логин:пароль" и > ~/.СШ/authfile.

  3. Редактировать~/.по SSH/config файл, и убедитесь, что его разрешение 644: команду chmod 644 ~/.по SSH/config файл

Взять github.com в качестве примера, добавьте следующие строки в ~/.по SSH/config файл:

Host    github.com
        HostName        github.com
        ProxyCommand    /usr/local/bin/corkscrew   %h %p <path/to/authfile>
        User            git

Теперь всякий раз, когда вы делаете что-нибудь с git@github.com, он будет автоматически использовать прокси. Вы можете легко сделать то же самое, что оба, а также.

Это не так элегантно, как другие подходы, но он работает как шарм.

Комментарии (3)

На Windows, Если вы не'т хотите, чтобы положить свой пароль .gitconfig хранит настройки в обычный текст, вы можете использовать

Он проверяет вас на фоне нормального или даже Windows прокси NTLM и начинается локальный прокси без аутентификации.

Для того, чтобы сделать его запустить:

  • Установка Cntml
  • Настроить Cntml в соответствии с документацией для прохождения проверки подлинности прокси-сервера
  • Точка Git в свой новый локальный прокси:

на [HTTP] прокси = http://localhost:3128 сменить порт # по мере необходимости

Комментарии (1)

Для меня то, что он работал:

sudo apt-get install socat

Создать файл внутри вашего $BIN_PATH/gitproxy с:

#!/bin/sh 
_proxy=192.168.192.1 
_proxyport=3128 
exec socat STDIO PROXY:$_proxy:$1:$2,proxyport=$_proxyport

Не забудьте дать разрешения на выполнение

chmod a+x gitproxy

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

export PATH=$BIN_PATH:$PATH
git config --global core.gitproxy gitproxy
Комментарии (2)

Установка # прокси для Git команда ###

git config --global http.proxy http://user:password@domain:port

пример ###

git config --global http.proxy http://clairton:123456@proxy.clairtonluz.com.br:8080
Комментарии (0)

Только после этого, так как это первый результат в Google, в этом блоге я нашла решает проблему для меня обновили завиток сертификаты.

http://www.simplicidade.org/notes/archives/2011/06/github_ssl_ca_errors.html

Комментарии (1)

У меня была такая же проблема, с немного другим исправить: восстановление ЖКТ с поддержкой http

Протокол `ГИТ: не работало через мой корпоративный брандмауэр.

Например, этот тайм-аут:

git clone git://github.com/miksago/node-websocket-server.git

github.com завиток работает просто отлично, хотя, так что я знаю, что моя переменная при окружающая среда является правильным.

Я попытался с помощью HTTP, который, как ниже, но получил немедленный ошибки.


git clone http://github.com/miksago/node-websocket-server.git

->>>  fatal: Unable to find remote helper for 'http' 
Комментарии (0)

Этот работал для меня.

git config --global http.proxy proxy_user:proxy_passwd@proxy_ip:proxy_port
Комментарии (0)

Набор учетных данных в Git.помощник wincred.

git config --global credential.helper wincred

Убедитесь в наличии только 1 набор.помощник

git config -l

Если есть больше чем 1, и это's не задано wincred удалить его.

git config --system --unset credential.helper

Теперь установить прокси без пароля.

git config --global http.proxy http://@proxy:80

Проверьте, что все параметры, которые вы добавили хорошо выглядит....

git config --global -l

Теперь вы хорошо идти!

Комментарии (0)

Используйте proxychains

proxychains git pull ...

обновление: proxychains прекращена, используйте proxychains-НГ вместо этого.

Комментарии (2)

вы можете использовать:

git config --add http.proxy http://user:password@proxy_host:proxy_port
Комментарии (0)

Для Windows

Гото --> C:/Users/user_name/gitconfig

Файл gitconfig хранит настройки обновления с ниже подробности

на [HTTP]

[протоколу HTTPS]

proxy = https://your_proxy:your_port

на [HTTP]

proxy = http://your_proxy:your_port

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

Интернет Эксплорер -и gt; Настройки и gt; Настройки -&ГТ сети; подключения -> Настройка сети

Комментарии (0)