Как вытащить из Git-репозитория через HTTP-прокси? - PullRequest
466 голосов
/ 24 сентября 2008

Примечание: хотя описанный вариант использования касается использования подмодулей в проекте, то же самое относится и к обычному 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 , например).

Ответы [ 26 ]

1 голос
/ 24 сентября 2008

Это не проблема с вашим прокси. Это проблема с github (или git). Для меня это не работает на git-1.6.0.1 на linux. Ошибка уже сообщена (вами не меньше).

Обязательно удалите свои пирожки, они уже в гугле. Изменить: Должно быть мечтал, я думаю, вы не можете удалить их. Используйте Gist вместо?

1 голос
/ 19 апреля 2013

$ http_proxy для http://github.com.... $ https_proxy для https://github.com...

0 голосов
/ 07 апреля 2016

, как @ user2188765 уже указал, попробуйте заменить протокол git:// хранилища на http[s]://. Смотри также этот ответ

0 голосов
/ 02 марта 2016

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

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

Goto ->
**Windows**
1. msysgit\installer-tmp\etc\gitconfig
    Under [http]
        proxy = http://user:pass@url:port

**Linux**
1. msysgit\installer-tmp\setup-msysgit.sh
      export HTTP_PROXY="http://USER:PASS@proxy.abc.com:8080"

если у вас есть специальный символ в user / pass, используйте url_encode

0 голосов
/ 19 марта 2014

Я обошел прокси, используя https ... некоторые прокси даже не проверяют https.

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

c:\git\meantest>git clone http://github.com/linnovate/mean.git
Cloning into 'mean'...
fatal: unable to access 'http://github.com/linnovate/mean.git/': Failed connect
to github.com:80; No error

c:\git\meantest>git clone https://github.com/linnovate/mean.git
Cloning into 'mean'...
remote: Reusing existing pack: 2587, done.
remote: Counting objects: 27, done.
remote: Compressing objects: 100% (24/24), done.
rRemote: Total 2614 (delta 3), reused 4 (delta 0)eceiving objects:  98% (2562/26

Receiving objects: 100% (2614/2614), 1.76 MiB | 305.00 KiB/s, done.
Resolving deltas: 100% (1166/1166), done.
Checking connectivity... done
0 голосов
/ 10 августа 2013

Ответы выше работали для меня, когда мой прокси-сервер не нуждается в аутентификации. Если вы используете прокси, который требует от вас аутентификации, вы можете попробовать CCProxy. У меня есть небольшой учебник по настройке здесь,

http://blog.praveenkumar.co.in/2012/09/proxy-free-windows-xp78-and-mobiles.html

Я смог толкать, тянуть, создавать новые репозитории. Все работало просто отлично. Убедитесь, что вы делаете чистую деинсталляцию и переустановку новой версии, если у вас проблемы с Git, как у меня.

...