Мерзавец, клонирующий ошибку

Я только что начал узнавать, что мерзавец и я пытались выполнить эту команду:

git clone git://github.com/schacon/ticgit.git

Это не работало, и я получил это сообщение об ошибке

gwapps@gwapps-ThinkPad-X61:/home/gitRepo$ sudo git clone git://github.com/schacon/ticgit.git
Cloning into 'ticgit'...
fatal: unable to connect to github.com:
github.com[0: 204.232.175.90]: errno=Connection refused

Есть ли кто-либо, кто может помочь мне решение этой проблемы?Заранее спасибо!

Вывод РЕДАКТИРОВАНИЯ netstat-tulpn

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      -               
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -               
udp        0      0 10.20.2.160:123         0.0.0.0:*                           -               
udp        0      0 127.0.0.1:123           0.0.0.0:*                           -               
udp        0      0 0.0.0.0:123             0.0.0.0:*                           -               
udp        0      0 0.0.0.0:44048           0.0.0.0:*                           -               
udp        0      0 127.0.1.1:53            0.0.0.0:*                           -               
udp6       0      0 fe80::216:d3ff:fec4:123 :::*                                -               
udp6       0      0 ::1:123                 :::*                                -               
udp6       0      0 :::123                  :::*                                -               
udp6       0      0 :::58657                :::*     

                       -       
3
задан 19 September 2013 в 16:44

3 ответа

Вместо этого запустите git clone http://github.com/schacon/ticgit.git.

То есть заменить git:// на http://. Это должно сработать.

Для зашифрованного соединения - что, как правило, хорошо, потому что данные, которые вы получаете, вероятно, не может быть изменено в пути какой-либо злонамеренной третьей стороной - вы можете попробовать использовать https://. Спасибо Митчу за , который указал на это . Это сработало для меня, хотя это было значительно медленнее (это заняло почти полминуты, а не меньше двух секунд). Ваш пробег может отличаться.

Объяснение следует ... (Но если вы хотите, вы можете перестать читать здесь и просто использовать эту команду.)

Ваша корпоративная (или школьная) сеть может мешать вам доступ к серверу Git.

На моем интернет-соединении я проверил, есть ли у IP-адреса 204.232.175.90 сервер, принимающий входящие соединения через порт 9418. (В конце концов, это то, что он должен делать, , а не что вы должны сделать.) Это происходит, хотя в то время (т. е. до того, как я сам попытался клонировать репозиторий) мне не было ясно, является ли то, что работает на этом порту, на самом деле сервером Git: [ 1130]

ek@Kip:~$ sudo nmap -sS -sV -p9418 204.232.175.90
[sudo] password for ek:

Starting Nmap 6.00 ( http://nmap.org ) at 2013-08-16 09:25 EDT
Nmap scan report for github.com (204.232.175.90)
Host is up (0.046s latency).
PORT     STATE SERVICE VERSION
9418/tcp open  domain  ISC BIND   Email support

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.82 seconds

Даже если бы это было нечто иное, чем Git-сервер, вы все равно не должны были получить «отказ в соединении». Если при повторной попытке вы получите ту же ошибку, что-то блокирует вашу возможность подключения к этому серверу. Если возможно, я рекомендую проконсультироваться с вашим сетевым администратором. В конце концов, вы в идеале должны иметь возможность доступа к этому серверу. И большинство сетевых администраторов, вероятно, не будут иметь проблем с доступом к репозиториям Git.

Однако, есть простой обходной путь.

Для людей в вашей ситуации и в других ситуациях, когда возможен только HTTP-доступ (например, люди, чей единственный доступ в Интернет осуществляется через HTTP-прокси), Git предоставляет возможность доступа к репозиториям с помощью HTTP (т. Е. Через web)!

Я не имею в виду , что вы просматриваете сеть для клонирования хранилища. Команда git сама по себе способна подключаться по HTTP, в качестве альтернативы использованию собственного протокола уровня приложений Git.

Для этого замените git:// на http:// в URL-адресе, указанном для команды git.

С вашей точки зрения, как пользователя, это работает точно так же. Единственное отличие, которое вы можете заметить (кроме того, что этот способ должен работать!) Заключается в том, что он может быть медленнее , поскольку HTTP менее подходит для доступа к репозиториям Git, чем собственный протокол Git.

1136 Это может быть проблемой со временем или для огромных репозиториев. Вот почему я рекомендую связаться с вашим сетевым администратором. Но в этом случае не должно быть проблем; хранилище кажется маленьким. (Даже если бы оно было большим, иногда допустимо увеличение времени ожидания. Именно когда вам приходится передавать много данных много раз в день, это может стать обременительным для вашего рабочего процесса.)

Это возможно для Git server не предлагает HTTP-доступ, но на практике это редко, и я проверил этот, и он действительно его предоставляет, и мне удалось клонировать репозиторий : [ 1137]

ek@Kip:~/src$ git clone http://github.com/schacon/ticgit.git
Cloning into 'ticgit'...
remote: Counting objects: 1857, done.
remote: Compressing objects: 100% (1022/1022), done.
remote: Total 1857 (delta 781), reused 1787 (delta 735)
Receiving objects: 100% (1857/1857), 374.78 KiB | 702 KiB/s, done.
Resolving deltas: 100% (781/781), done.
ek@Kip:~/src$ ls ticgit                # you don't have to run this
bin       lib          LICENSE_MIT  Rakefile    spec               TODO
examples  LICENSE_GPL  note         README.mkd  ticgit-ng.gemspec
ek@Kip:~/src$ du -sh ticgit            # you don't have to run this
844K    ticgit

Я также сделал это с git:// и получил те же результаты. HTTP-доступ прекрасно работает для этого хранилища.

Как было сказано выше, https:// тоже работал нормально, хотя и намного медленнее. Но я думаю, что большую часть времени, возможно, занимались согласованием соединения - я не ожидаю, что оно обязательно будет намного медленнее, чем http:// для большого хранилища.

0
ответ дан 19 September 2013 в 16:44

Это работает для меня.

git config --global url."https://github.com/".insteadOf git://github.com/
0
ответ дан 19 September 2013 в 16:44

Похоже, у вас проблема с сетью. Протокол git использует порт 9418 по умолчанию, поэтому убедитесь, что порт открыт и не заблокирован брандмауэром.

0
ответ дан 19 September 2013 в 16:44

Другие вопросы по тегам:

Похожие вопросы: