Примечание: хотя описанный случай использования относится к использованию подмодулей внутри проекта, то же самое относится и к обычному 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, например).
Вы также можете установить 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 для формата проверки подлинности.)
Там'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 это!
В итоге сработала установка переменной окружения http_proxy
. Я установил HTTP_PROXY
правильно, но git, видимо, больше нравится версия с нижним регистром.
Похоже, что вы используете mingw-компиляцию Git под windows (или, возможно, другую, о которой я не слышал). Есть способы отладить это: Я полагаю, что вся работа http-прокси для git выполняется curl. Установите эту переменную окружения перед запуском git:
GIT_CURL_VERBOSE=1
Это, по крайней мере, даст вам представление о том, что происходит за кулисами.
Если вы просто хотите использовать прокси-сервера на указанном репозитории, Дон'т нужна на другие хранилища. Предпочтительным способом является -с, --конфиг <ключ=значение> опции
если вы git клон
репозиторий. например
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git --config "http.proxy=proxyHost:proxyPort"
Когда Сети команды протокола SSL-сертификаты проверки на рерайт, а затем, используя вместо HTTPS в одном, в сочетании с установкой этого ВАР работал для меня URL-адрес http.
git config --global http.proxy http://proxy:8081
Вы могли бы тоже изменить .файл gitconfig хранит настройки находится в каталоге %USERPROFILE% на системе Windows (блокнот в папке %USERPROFILE%.gitconfig хранит настройки) или в ~ каталог на системы Linux (ви ~/.gitconfig хранит настройки) и добавить в разделе HTTP как ниже.
Содержание .файл gitconfig хранит настройки :
[http]
proxy = http://proxy.mycompany:80
Для меня в Git:// просто не't работа через прокси-сервер, хотя через HTTPS:// совсем. Это вызвало немного головная боль, потому что я был запуск скриптов, все использовал git://, так я не'т так легко изменить их все. Однако я нашел этот камень
git config --global url."https://github.com/".insteadOf git://github.com/
Это старый вопрос, но если вы находитесь на Windows, рассмотрите возможность установки HTTPS_PROXY, а также если вы хотите получить через URL-адрес https. Работал для меня!
Я не нахожу ни с HTTP.прокси-сервер, ни
GIT_PROXY_COMMAND работы для моей проверкой подлинности HTTP-прокси. Прокси не срабатывает в любом случае. Но я найду способ обойти эту.
Установите штопор, или другие варианты, которые вы хотите.
Создать authfile. Формат authfile
представляет: имя_пользователя:пароль
, и имя_пользователя
, пароль
- это Ваш логин и пароль для доступа к прокси. Чтобы создать такой файл, просто запустите команду: Эхо "логин:пароль" и > ~/.СШ/authfile
.
Редактировать~/.по SSH/config файл, и убедитесь, что его разрешение 644
: команду chmod 644 ~/.по SSH/config файл
Взять github.com в качестве примера, добавьте следующие строки в ~/.по SSH/config файл
:
Host github.com
HostName github.com
ProxyCommand /usr/local/bin/corkscrew <your.proxy> <proxy port> %h %p <path/to/authfile>
User git
Теперь всякий раз, когда вы делаете что-нибудь с [email protected]
, он будет автоматически использовать прокси. Вы можете легко сделать то же самое, что оба, а также.
Это не так элегантно, как другие подходы, но он работает как шарм.
На Windows, Если вы не'т хотите, чтобы положить свой пароль .gitconfig хранит настройки в обычный текст, вы можете использовать
Он проверяет вас на фоне нормального или даже Windows прокси NTLM и начинается локальный прокси без аутентификации.
Для того, чтобы сделать его запустить:
на [HTTP] прокси = http://localhost:3128 сменить порт # по мере необходимости
Для меня то, что он работал:
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
Установка # прокси для Git команда ###
git config --global http.proxy http://user:password@domain:port
пример ###
git config --global http.proxy http://clairton:[email protected]:8080
Только после этого, так как это первый результат в Google, в этом блоге я нашла решает проблему для меня обновили завиток сертификаты.
http://www.simplicidade.org/notes/archives/2011/06/github_ssl_ca_errors.html
У меня была такая же проблема, с немного другим исправить: восстановление ЖКТ с поддержкой 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' <<<-
Я пробовал перекомпиляции git, например, так:
./configure --with-curl --with-expat
но все же есть фатальная ошибка.
Наконец, после нескольких разочарований часов, я прочитал настроить файл, и увидел это:
# определить CURLDIR=в/Foo/бар, если ваш завиток заголовочные и библиотечные файлы в
\ # с именем /foo/бар/числе и в /Foo/бар/lib каталоги.
Потом я вспомнил, что я не выполнила завиток
из источника, и так пошел
искать заголовочные файлы. Конечно, они не были установлены. Это было проблемой. Сделать не жаловаться на отсутствующие заголовочные файлы. Так
Я не понимал, что - с-скручиваемость вариант
ничего не делали (это, собственно по умолчанию в моей версии ГИТ
).
Я сделал следующее, чтобы исправить это:
ням установить curl-девел (экспат-девел-1.95.8-8.3.el5_5.3.для i386 уже был установлен).
ГИТ
с /usr/местные
(как я хочу новый установить там жить).Я просто убрал ГИТ*
с /usr/местные/доли " и " /usr/местные/IP-адресов
локон
и заголовочные файлы эмигранта
, а потом (потому что я читал "настройка"), добавленных к среде вроде так:экспорт CURLDIR=в/usr/включать экспорт EXPATDIR=в/usr/включать
настроить
, а также значения по умолчанию, но какого черта:./настроить-с-скручиваемость-с-экспат
HTTP
, который работает с ГИТ
через мой корпоративный брандмауэр:ГИТ http://github.com/miksago/node-websocket-server.git клон Клонирование в 'узел-с WebSocket-сервер'...
Этот работал для меня.
git config --global http.proxy proxy_user:proxy_passwd@proxy_ip:proxy_port
Набор учетных данных в 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://<YOUR WIN LOGIN NAME>@proxy:80
Проверьте, что все параметры, которые вы добавили хорошо выглядит....
git config --global -l
Теперь вы хорошо идти!
Используйте proxychains
proxychains git pull ...
обновление: proxychains прекращена, используйте proxychains-НГ вместо этого.
Для Windows
Гото --> C:/Users/user_name/gitconfig
Файл gitconfig хранит настройки обновления с ниже подробности
на [HTTP]
[протоколу HTTPS]
proxy = https://your_proxy:your_port
на [HTTP]
proxy = http://your_proxy:your_port
Как проверить ваш прокси-сервера и номер порта?
Интернет Эксплорер -и gt; Настройки и gt; Настройки -&ГТ сети; подключения -> Настройка сети