O clone Git funciona apenas com ssh: // git @ .. e não com git @


11

Alguma idéia de por que um repositório GIT funcionaria apenas ao usar ssh://git@server.com/repo.gite não também ao usar git@server.com/repo.git?

É uma configuração de servidor de outra pessoa, por isso não faço ideia de como foi configurada, mas no BitBucket ou no GitHub eu posso apenas usar git@server.com/repo.gite funciona e clona o repositório usando o protocolo SSH. Alguma idéia do porquê desse servidor iy só funciona quando se usa ssh://git@server.com/repo.git?

Então, eu preciso adicionar o ssh://na frente.


O servidor usa uma porta SSH alternativa? Comossh://git@server.com:2222/
7ochem 10/0418

Não. São 22. Como ssh://git@server.com/repo.gitfunciona enquanto git@server.com/repo.gitnão. Eu não estou adicionando o :portem nenhum caso. Quando eu tento sem ssh://eu entendo fatal: repository 'git@server.com/something/repo.git' does not exist. Com ssh://git@server.com/something/repo.gitisso funciona.
Daniels #

Um problema de configuração de algum tipo (talvez um problema de firewall? Nome de usuário?) - Eu tenho um problema semelhante com uma instalação na minha instituição. No entanto, o acesso via https funciona - portanto, a solução é usar as regras de reescrita deste encadeamento: stackoverflow.com/questions/15589682/…
DetlevCM

Respostas:


32

Você está usando a sintaxe incorreta.

Quando você remove o scheme://prefixo, o git não interpreta mais seu endereço no estilo de URL, mas como o estilo rcp / scp. Mas para endereços no estilo rcp / scp, o caminho deve ser separado do usuário @ host usando dois pontos: (especificando que uma porta não é suportada). Por exemplo:

git clone daniels@server.com:repo.git

git clone git@bitbucket.com:daniels/example.git

Sem os dois pontos, o git interpretará apenas o endereço como um caminho local.

(Você pode ver mais detalhes na página de manual git clone ou git fetch .)


Hah, mistério resolvido. Você está certo. Obrigado.
Daniels #

Eu estava usando o servidor BitBucket (antigo Stash, o que você instala no seu servidor, não a versão em nuvem) e apenas copiei e colei o comando GIT a partir daí. Por alguma razão, eles não adicionam os que estão faltando :.
Daniels #
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.