É possível remover “ssh: //” das URLs do git remote?

7

Estou acostumado a criar alguns repositórios feitos manualmente para enviar código para o meu servidor ou compartilhar código dentro da minha empresa. Eu uso o URL ssh://user@ip/folder.git para adicionar como remotos aos meus espaços de trabalho.

Eu queria saber como serviços como o GitHub definem URLs de repositório sem a especificação do protocolo, como [email protected]:igorsantos07/Restler.git .

    
por igorsantos07 21.03.2014 / 19:26

1 resposta

6

Se você der uma olhada no livro Git acessível aqui: 4.1 Git on o Servidor - Os Protocolos mencionam os vários formatos dos protocolos que o Git aceitará.

trecho

Probably the most common transport protocol for Git is SSH. This is because SSH access to servers is already set up in most places — and if it isn’t, it’s easy to do. SSH is also the only network-based protocol that you can easily read from and write to. The other two network protocols (HTTP and Git) are generally read-only, so even if you have them available for the unwashed masses, you still need SSH for your own write commands. SSH is also an authenticated network protocol; and because it’s ubiquitous, it’s generally easy to set up and use.

To clone a Git repository over SSH, you can specify ssh:// URL like this:

  $ git clone ssh://user@server/project.git

Or you can use the shorter scp-like syntax for SSH protocol:

  $ git clone user@server:project.git

You can also not specify a user, and Git assumes the user you’re currently logged in as.

Serviços como o GitHub jogam outros truques com o acesso a repositórios, basicamente envolvendo o acesso usando HTTP e, em seguida, emitindo os protocolos corretos pela parte de trás do servidor HTTP. Isso geralmente é feito como um proxy reverso das sortes. Um produto que você pode usar e que fornece alguns desses recursos é chamado Gitolite ( TOC ou Intro ), bem como Gitorious .

    
por 21.03.2014 / 20:19

Tags