Pergunta

Estou tentando usar o encaminhamento de portas SSH para derrotar o firewall corporativo:

ssh git@GIT_SERVER -L9418:GIT_SERVER:9418

E em outro terminal eu corro

git clone git://localhost:repositories/project.git

Mas recebo o seguinte erro:

Repositório Git vazio inicializado em /users/aboxer/tmp/glucosia/.git/

Fatal: Incapaz de procurar localhost (repositórios portuários) (Nodename nem servName fornecido, ou não são conhecidos)

Obrigado!

Foi útil?

Solução

Tenho certeza de que o seu problema (ou pelo menos aquele que causa esse erro em particular) está aqui:

git clone git://localhost:repositories/project.git

Se você olhar para o Lista de notações de URL Em Man Git Push, você verá o exemplo relevante:

git://host.xz[:port]/path/to/repo.git/

Com o cólon, você está usando "repositórios" como nome da porta, e o Git (compreensivelmente) tem problemas para se conectar aos repositórios de porta no host local! O que você está procurando é:

git://localhost/path/to/repositories/project.git

ou talvez

git://localhost/~user/repositories/project.git

Editar:

Eu provavelmente deveria ter dito isso desde o início, mas na verdade não consigo pensar em um motivo de você precisar usar o SSH Tunneling com o Git. Seu protocolo de transporte padrão é SSH; O protocolo Git está realmente presente apenas para permitir que os repositórios públicos sejam buscados sem uma conta. Se você puder SSH na máquina onde o repositório está localizado, você pode buscar via SSH:

git clone ssh://[user@]host.xz/path/to/repo.git
git clone ssh://[user@]host.xz/~/path/to/repo.git
git clone ssh://[user@]host.xz/~user/path/to/repo.git

Outras dicas

A versão curta da resposta de Vlad Zloteanu:

Configure o túnel:

ssh ServerWithSSHAccessAddress -L 2000:GitServerAddress:22 -N , &

Clone o repo

git clone ssh://user@localhost:2000/my_repo.git

Aqui estão as etapas que funcionaram para mim. Meu sistema está por trás do firewall da empresa e o domínio é unido:

  • O primeiro NPM precisa ser instalado
  • Fiddler também precisa estar no modo de corrida. Fiddler precisa estar executando com a opção 'Automaticamente autenticar' em 'regras' ativadas
  • Instale o comando git via:

NPM Instale Git

  • Atualize o protocolo do Git para o HTTPS:

Config Git -URL global.https://github.com/.insteadof git: //github.com/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top