Erro de clonagem do Git

3

Acabei de começar a aprender git e tentei executar este comando:

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

Não funcionou e recebi esta mensagem de erro

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

Existe alguém que possa me ajudar a resolver esse problema? Obrigado antecipadamente!

EDITAR  saída de 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                :::*     

                       -       
    
por caesar 16.08.2013 / 14:36

3 respostas

8

Execute git clone http://github.com/schacon/ticgit.git em vez disso.

Ou seja, substitua git:// por http:// . Isso deve funcionar.

Para uma conexão criptografada - o que geralmente é bom porque os dados recebidos provavelmente não podem ser modificados em trânsito por terceiros mal-intencionados - você pode tentar usar https:// . Obrigado ao Mitch por apontar isso .

Explicação segue ... (Mas se você quiser, você pode parar de ler aqui e apenas usar esse comando).

Sua rede corporativa (ou escola) pode estar impedindo que você acesse o servidor Git.

Na minha conexão com a Internet, verifiquei se o endereço IP 204.232.175.90 tem um servidor aceitando conexões de entrada na porta 9418. (Afinal, é isso que ele tem que fazer, não o que você tem que fazer.) Mas, naquela época (antes de tentar clonar o repositório), não ficou claro para mim se o que está sendo executado nessa porta é na verdade um servidor Git. :

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

Mesmo que tenha sido algo diferente de um servidor Git, você ainda não deve ter "conexão recusada". Se você receber o mesmo erro ao tentar novamente, alguma coisa está bloqueando sua capacidade de se conectar a esse servidor. Se possível, recomendo consultar seu administrador de rede. Afinal, você deve idealmente poder acessar esse servidor. E a maioria dos administradores de rede provavelmente não terá problemas em acessar os repositórios do Git.

No entanto, existe uma solução fácil.

Para pessoas em sua situação e outras situações onde somente o acesso HTTP é possível (por exemplo, pessoas cujo único acesso à Internet é através de um proxy HTTP), o Git fornece a capacidade de acessar repositórios com HTTP (ou seja, via web)!

Eu não significa que você navega na web para clonar o repositório. O comando git é capaz de se conectar via HTTP, como uma alternativa ao uso do protocolo da camada de aplicação do Git.

Para fazer isso, substitua git:// por http:// na URL fornecida para o comando git .

Da sua perspectiva como usuário, isso funciona exatamente da mesma maneira. A única diferença que você pode notar (além disso, deve funcionar!) É que pode ser mais lenta , já que o HTTP é menos adequado para acessar repositórios Git do que o próprio protocolo do Git.

Isso pode ser um problema ao longo do tempo ou para repositórios enormes. É por isso que recomendo entrar em contato com o administrador da rede. Mas neste caso, não deve haver problemas; o repositório parece pequeno. (Mesmo que fosse grande, os tempos de espera aumentados às vezes são aceitáveis. É quando você precisa transferir muitos dados, muitas vezes por dia, que podem se tornar onerosos para o fluxo de trabalho.)

É possível que um servidor Git não ofereça acesso HTTP, mas na prática isso é raro, e eu testei este, e ele fornece, e eu pude clone o repositório :

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

Eu também fiz isso com git:// e obtive os mesmos resultados. O acesso HTTP funciona bem para este repositório.

Como dito acima, https:// funcionou bem para mim também, embora tenha sido muito mais lento. Mas acho que a maior parte do tempo pode ter sido na negociação da conexão - não espero que seja necessariamente muito mais lento que http:// para um grande repositório.

    
por Eliah Kagan 16.08.2013 / 15:39
2

Isso funciona para mim.

git config --global url."https://github.com/".insteadOf git://github.com/
    
por user126319 01.03.2015 / 07:23
-1

Parece que você pode ter um problema de rede. O protocolo git usa a porta 9418 por padrão, portanto, certifique-se de que a porta esteja aberta e não bloqueada por um firewall.

    
por Mitch 16.08.2013 / 14:44