2011-12-06 22 views
19

Khi cố gắng sao chép bất kỳ kho qua https từ github, chúng tôi nhận được:git đằng sau proxy: từ xa đầu đề cập đến ref không tồn tại, không thể kiểm

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

máy chủ của chúng tôi là sau một proxy. Chúng tôi đã xác định http_proxy và https_proxy một cách thích hợp. Tất cả các chức năng khác đang hoạt động.

Phiên bản git là 1.7.5.4

Máy chủ là máy chủ Ubuntu 11.04.

Lưu ý rằng vì điều này xảy ra với EVERY kho lưu trữ github mà chúng tôi đã thử, chúng tôi tin rằng không phải là vấn đề với các thay đổi trong kho lưu trữ. Chúng tôi đã thử các kho lưu trữ nổi tiếng như jquery và rails - nếu vấn đề nằm trong kho đó, sẽ có rất nhiều người phàn nàn. Tôi tin tưởng mạnh mẽ vấn đề là với git và proxy, nhưng tất cả googling của tôi đã không dẫn đến một giải pháp.

Là một điểm dữ liệu bổ sung, các bản sao dường như hoạt động tốt nếu chúng là http. Nó chỉ là các bản sao https không thành công với lỗi này.

Lưu ý rằng tôi không nghĩ câu hỏi này là trùng lặp, vì các câu hỏi khác với lỗi này tập trung vào các vấn đề với kho lưu trữ - không hoạt động với git và proxy.

Trả lời

19

Tôi đã tình cờ giải pháp cho vấn đề này qua bài viết này:

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

Vấn đề này rõ ràng là một lỗi trong phiên bản libcurl cài đặt trong Ubuntu Server 11.04. Chỉ cần chạy apt-get install libcurl3-gnutls là không đủ để giải quyết vấn đề vì nó đơn giản báo cáo phiên bản mới nhất đã được cài đặt.

Để giải quyết vấn đề này, tôi đã phải tự cài đặt mới nhất libcurl3-gnutls, và hai phụ thuộc, như bên dưới (rõ ràng, sau khi tải chúng vào hệ thống của tôi đầu tiên):

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 

Hope this helps người nào.

+0

này chỉ làm việc tốt đối với tôi, kéo các gói ra khỏi repo cho chính xác. – jhogendorn

+0

Làm việc ở đây là tốt, mặc dù tôi nhận được thông báo lỗi sau: "p11-kit: không thể tải mô-đun: /usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so:/usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: không thể mở tệp đối tượng được chia sẻ: Không có tệp hoặc thư mục như vậy ". [Báo cáo cho Ubuntu.] (Https://bugs.launchpad.net/ubuntu/+source/curl/+bug/940431) – l0b0

+0

dpkg: xử lý lỗi libcurl3-gnutls_7.22.0-3ubuntu4_amd64.deb (--install): kiến trúc gói (amd64) không khớp với hệ thống (i386). Mát mẻ. Bạn có thể đăng các giải pháp 32bit quá. Tôi thực sự đã sử dụng giải pháp của Alexey Romanov. –

10

các gói đã nói ở trên có thể được tìm thấy ở đây:

tôi đã sử dụng các phiên bản này và đã có thể sử dụng git sau một proxy mà không vấn đề:

$ 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

Một workaround tìm thấy tại lỗi Ubuntu liên kết:

thêm dòng sau vào ~/.gitconfig hoặc/etc/gitconfig

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

Không còn cần thiết bắt đầu với 12.04.

Các vấn đề liên quan