Подтвердить что ты не робот

Git за прокси: удаленный HEAD ссылается на несуществующий ref, неспособный проверить

При попытке клонировать ЛЮБОЙ репозиторий через 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.

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

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

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

4b9b3361

Ответ 1

Я столкнулся с решением этой проблемы через этот пост:

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

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

Ответ 2

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

Я использовал эти версии и смог использовать 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

Ответ 3

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

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

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

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