мерзавец за прокси: удаленный заголовок относится к несуществующей ссылке, не может оформить заказ - PullRequest
19 голосов
/ 06 декабря 2011

При попытке клонировать ЛЮБОЙ репозиторий через https от github, мы получаем:

git clone https://github.com/rails/rails.git
Cloning into rails...
remote HEAD refers to nonexistent ref, unable to checkout

Наш сервер находится за прокси.Мы определили http_proxy и https_proxy соответственно.Все остальные функции работают.

git версия 1.7.5.4

Сервер - это Ubuntu Server 11.04.

Обратите внимание, что поскольку это происходит с репозиторием EVERY github, который мы пробовали,мы твердо верим, что это не проблема с ссылками в репозитории.Мы пробовали такие известные репозитории, как jquery и rails - если бы проблема была в этих репозиториях, было бы много людей, жалующихся.Я твердо верю, что проблема связана с git и прокси, но все мои поиски в Google не привели к решению.

В качестве дополнительной точки данных, клоны, кажется, работают нормально, если они http.Эта ошибка возникает только из-за клонов https.

Обратите внимание, что я не думаю, что этот вопрос является дубликатом, поскольку другие вопросы с этой ошибкой касаются проблем с хранилищем - не работают с git ипрокси.

Ответы [ 4 ]

19 голосов
/ 06 декабря 2011

Я наткнулся на решение этой проблемы с помощью этого поста:

http://comments.gmane.org/gmane.comp.version-control.git/185459

По-видимому, проблема заключается в ошибке в версии libcurl, установленной на сервере Ubuntu 11.04.Простого запуска apt-get install libcurl3-gnutls было недостаточно для решения проблемы, поскольку просто сообщалось, что последняя версия уже установлена.

Чтобы решить проблему, мне пришлось вручную установить последнюю версию libcurl3-gnutls, идве зависимости, как показано ниже (очевидно, после первой загрузки их в мою систему):

sudo dpkg -i libp11-kit0_0.6-0ubuntu2_amd64.deb
sudo dpkg -i libgnutls26_2.12.14-3_amd64.deb
sudo dpkg -i libcurl3-gnutls_7.22.0-3ubuntu1_amd64.deb

Надеюсь, это кому-нибудь поможет.

10 голосов
/ 01 февраля 2012

указанные выше пакеты можно найти здесь:

Я использовал эти версии и смог использовать git за прокси без проблем:

$ sudo dpkg -i libp11-kit0_0.10-1_amd64.deb libgnutls26_2.12.14-5ubuntu2_amd64.deb libcurl3-gnutls_7.22.0-3ubuntu2_amd64.deb
9 голосов
/ 16 апреля 2012

Обходной путь, найденный в связанной ошибке Ubuntu:

добавить следующее в ~ / .gitconfig или / etc / gitconfig

# Workaround for bug when using SSL and HTTP proxy (LP #940431)
[url "http://"]
 insteadOf = "https://"

Больше не нужно, начиная с 12.04.

0 голосов
/ 16 апреля 2013

Другое простое решение будет:

регрессия libcurl3 с 7.21.0 до 7.19.5.

Загрузите его отсюда:

amd64: http://launchpadlibrarian.net/30289951/libcurl3-gnutls_7.19.5-1ubuntu2_amd64.deb

i386: http://launchpadlibrarian.net/30287711/libcurl3-gnutls_7.19.5-1ubuntu2_i386.deb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...