Примечание: хотя описанный вариант использования относится к использованию подмодулей в проекте, то же самое относится и к обычному 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 ).
git
proxy
git-submodules
Джеймс А. Розен
источник
источник
--global
дляgit config
.Ответы:
Вы также можете установить HTTP-прокси, который Git использует в свойстве глобальной конфигурации
http.proxy
:Для аутентификации с прокси:
( Авторы обращаются к @EugeneKulabuhov и @JaimeReynoso за форматом аутентификации.)
источник
git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080
синтаксис для предоставления имени пользователя / пароляТам уже есть несколько отличных ответов. Тем не менее, я думал, что скину, так как некоторые прокси-серверы требуют от вас аутентификации с использованием идентификатора пользователя и пароля. Иногда это может быть на домене.
Так, например, если ваша конфигурация прокси-сервера выглядит следующим образом:
Затем добавьте в свой
.gitconfig
файл следующую команду:Не беспокойся
https
. Пока указанный прокси-сервер поддерживает http и https, тогда достаточно одной записи в файле конфигурации.Затем вы можете убедиться, что команда
.gitconfig
успешно добавила запись в ваш файл, выполнивcat .gitconfig
:В конце файла вы увидите следующую запись:
Это оно!
источник
%40
и он будет работать.В конечном итоге сработала установка
http_proxy
переменной среды. Я установилHTTP_PROXY
правильно, но git, очевидно, больше нравится версия в нижнем регистре.источник
http.proxy
в глобальной конфигурации Git? В своем вопросе вы задалиhttp.proxy
в конфигурации локального репозитория.https_proxy
https.proxy
казалось, работает для меня, когда я использовал https через githubhttps_proxy
это, значит, вы использовалиhttps
не то, оhttp
чем идет речь.Похоже, вы используете Mingw-компиляцию Git для Windows (или, возможно, другую, о которой я не слышал). Есть способы отладки этого: я считаю, что вся работа http-прокси для git выполняется curl. Установите эту переменную среды перед запуском git:
Это должно по крайней мере дать вам представление о том, что происходит за кулисами.
источник
Если вы просто хотите использовать прокси в указанном репозитории, не используйте его в других репозиториях. Предпочтительным способом является
-c, --config <key=value>
вариант, когда выgit clone
хранилище. напримеристочник
--config
несколько раз, например, когда вы также хотите установитьhttps.proxy
.Когда ваша сетевая команда выполняет ssl-инспекцию, переписывая сертификаты, затем использует URL-адрес http вместо https-адреса в сочетании с настройкой этого var, это сработало для меня.
источник
Вы также можете отредактировать файл .gitconfig, расположенный в каталоге% userprofile% в системе Windows ( notepad% userprofile% .gitconfig ) или в каталоге ~ в системе Linux ( vi ~ / .gitconfig ), и добавить раздел http, как показано ниже.
Содержимое файла .gitconfig:
источник
Для меня git: // просто не работает через прокси, хотя https: // работает. Это вызвало некоторую головную боль, потому что я запускал скрипты, которые все использовали git: //, поэтому я не мог просто легко изменить их все. Однако я нашел этот GEM
источник
Это старый вопрос, но если вы работаете в Windows, подумайте и о настройке HTTPS_PROXY, если вы запрашиваете по URL-адресу https. Работал на меня!
источник
https_proxy
моем случае было достаточно установить только одну переменную среды (без git global или опции прокси-сервера репозитория) (msysgit в Windows XP).Я считаю , ни ,
http.proxy
ниGIT_PROXY_COMMAND
работой для моего аутентификации HTTP прокси - сервера. Прокси не запускается ни в каком случае. Но я нахожу способ обойти это.Создайте файл авторизации. Формат для
authfile
:,user_name:password
иuser_name
,password
это ваше имя пользователя и пароль для доступа к вашему прокси. Чтобы создать такой файл, просто запустите команду:echo "username:password" > ~/.ssh/authfile
.Отредактируйте
~/.ssh/config
и убедитесь, что это разрешение644
:chmod 644 ~/.ssh/config
Возьмите github.com в качестве примера, добавьте следующие строки в
~/.ssh/config
:Теперь, когда вы что-нибудь делаете
git@github.com
, он будет автоматически использовать прокси. Вы можете легко сделать то же самое с Bitbucket .Это не так элегантно, как другие подходы, но работает как шарм.
источник
В Windows, если вы не хотите указывать свой пароль в .gitconfig в виде обычного текста, вы можете использовать
Он аутентифицирует вас на обычном или даже Windows NTLM-прокси и запускает localhost-proxy без аутентификации.
Чтобы его запустить:
Укажите git на ваш новый прокси localhost:
источник
Для меня это сработало:
Создайте файл внутри вашего $ BIN_PATH / gitproxy с помощью:
Не забудьте дать ему разрешение на исполнение
Выполните следующие команды для настройки среды:
источник
git://
URL-адресов протокола, для тех (редких) серверов git, которые не поддерживают https. Также работает на Windows, с соответствующим пакетным файлом и socat для Windows.Настройте прокси на git
команда
пример
источник
Установите для Git credential.helper значение wincred.
Убедитесь, что есть только 1 credential.helper
Если их больше 1, а wincred не установлен, удалите их.
Теперь установите прокси без пароля.
Убедитесь, что все добавленные вами настройки выглядят хорошо.
Теперь тебе пора!
источник
У меня была та же проблема, с немного другим исправлением: REBUILDING GIT WITH HTTP SUPPORT
git:
Протокол не работает через свой корпоративный брандмауэр.Например, это время истекло:
curl github.com
работает просто отлично, поэтому я знаю, что мояhttp_proxy
переменная окружения верна.Я попытался использовать
http
, как показано ниже, но получил немедленную ошибку.Я попытался перекомпилировать git так:
но все же получил роковую ошибку.
Наконец, после нескольких часов разочарований я прочитал файл конфигурации и увидел следующее:
Я вспомнил тогда, что я не выполнил
curl
из источника, и поэтому пошел искать файлы заголовков. Конечно же, они не были установлены. Это была проблема. Make не жаловался на отсутствующие заголовочные файлы. Поэтому я не понял, что этот--with-curl
вариант ничего не сделал (на самом деле это вариант по умолчанию в моей версииgit
).Я сделал следующее, чтобы исправить это:
Добавлены заголовки, необходимые для make:
Удалено
git
из/usr/local
(как я хочу, чтобы новая установка была там).Я просто удалил
git*
из/usr/local/share
и/usr/local/libexec
Поиск по каталогам include, содержащим файлы заголовков
curl
иexpat
, а затем (потому что я прочиталconfigure
) добавил их в среду следующим образом:Запустил
configure
со следующими параметрами, которые, опять же, были описаны в самомconfigure
файле, и были также значениями по умолчанию, но какого черта:И теперь
http
работаетgit
через мой корпоративный брандмауэр:источник
Просто чтобы опубликовать это, так как это первый результат в Google, этот пост в блоге, который я нашел, решает проблему для меня, обновляя сертификаты curl.
http://www.simplicidade.org/notes/archives/2011/06/github_ssl_ca_errors.html
источник
git config --global http.sslcainfo NEW_CERTS_BUNDLE.crt
как описано в: stackoverflow.com/a/8248484/98528 сделал это для меня! Спасибо!Это сработало для меня.
источник
ты можешь использовать:
источник
Используйте прокси-цепочки
обновление: proxychains больше не поддерживается, используйте вместо него proxychains-ng .
источник
Для Windows
Перейти -> C: / Users / имя_пользователя / gitconfig
Обновите файл gitconfig, указав ниже детали
[HTTP]
[HTTPS]
[HTTP]
Как проверить свой прокси и номер порта?
Internet Explorer -> Настройки -> Свойства обозревателя -> Подключения -> Настройки локальной сети
источник
Ниже метод работает для меня:
источник
Стоит упомянуть: большинство примеров в сети показывают такие примеры, как
Похоже, что - если ваш прокси-сервер требует аутентификации - вы должны оставить свой пароль компании в git-config. Что не очень круто.
Но, если вы просто настроите пользователя без пароля:
Похоже, что Git (по крайней мере, на моем Windows-компьютере без помощника по учетным данным) распознает это и запрашивает пароль прокси-сервера при репо-доступе.
источник
Это не проблема с вашим прокси. Это проблема с github (или git). Для меня это не работает на git-1.6.0.1 на linux. Ошибка уже сообщена (вами не меньше).
Обязательно удалите свои пирожки, они уже в гугле. Изменить: Должно быть мечтал, я думаю, вы не можете удалить их. Вместо этого использовать Gist ?
источник
$ http_proxy для http://github.com .... $ https_proxy для https://github.com ...
источник
Приведенные выше ответы сработали для меня, когда мой прокси-сервер не нуждается в аутентификации. Если вы используете прокси, который требует от вас аутентификации, вы можете попробовать CCProxy. У меня есть небольшой учебник о том, как установить его здесь,
http://blog.praveenkumar.co.in/2012/09/proxy-free-windows-xp78-and-mobiles.html
Я смог толкать, тянуть, создавать новые репо. Все работало просто отлично. Убедитесь, что вы делаете чистую деинсталляцию и переустановку новой версии, если у вас возникли проблемы с Git, как у меня.
источник
как уже указал @ user2188765, попробуйте заменить
git://
протокол репозитория наhttp[s]://
. Смотрите также этот ответисточник
Я обошел прокси, используя https ... некоторые прокси даже не проверяют https.
источник
На это ответили многие, но это только для ПОЛЬЗОВАТЕЛЯ Winodws, который стоит за прокси с аутентификацией.
Переустановка (сначала не удалось, не удаляйте).
если у вас есть специальный символ в user / pass, используйте url_encode
источник