Em nosso escritório, começamos com a maneira mais simples possível de compartilhar repositórios Git (bem, além de usar Github): repositórios nus em um servidor com acesso SSH.
Então, nosso primeiro URL Git era assim:
ssh://git@git.ourservers.com/var/git/foo.git
No entanto, rapidamente se tornou óbvio que o esquema de URL acima tem um formato abreviado (se ~ git = / var / git):
git@git.ourservers.com:foo.git
Também podemos omitir o sufixo .git no final, pois o Git o anexará para nós automaticamente.
Agora, se formos configurar nosso ~ / .ssh / config com um alias e um nome de usuário para esta conexão SSH:
Host git
HostName git.ourservers.com
User git
Agora podemos usar o alias host e omitir o nome de usuário. Então agora, quando queremos clonar um repositório “foo”, apenas fazemos:
git clone git:foo
O mesmo princípio pode ser usado para qualquer servidor SSH / Git , incluindo Github.
Digamos que eu tenha o URL SSH da interface da web do Github:
git@github.com:tfnico/guava-examples.git
Eu adiciono uma entrada ~ / .ssh / config como esta:
Host hub
HostName github.com
User git
Agora posso fazer isso localmente:
git clone hub:tfnico/guava-examples
Ele funciona até no Windows com OpenSSH (ou Github para Windows).