Eu segui este exemplo para configurar um repositório git no meu servidor. Funcionou, e eu com sucesso push
meu código para isso.
Mas agora, como eu puxo ou clona?
Usando os documentos , eu tentei
git clone http://REMOTE_SERVER/home/git/example.git
.. Mas para mim, estou recebendo:
fatal: http://myserverip/home/git/example.git/info/refs not found: did you run git update-server-info on the server?
Eu executei git-update-server info, mas nada mudou
Ah, espere. Eu mudei para git clone ssh://REMOTE_SERVER/home/git/example.git
e estou conseguindo algo .. ele quer meu usuário / passe, mas como eu faço o servidor público então não requer login?
Se você quiser veiculá-lo via http (simples), precisará executar git-update-server-info no repositório no servidor após cada atualização.
Você pode automatizar isso fazendo com que o gancho pós-atualização o execute (normalmente, o gancho pós-atualização padrão só precisa ser ativado (torne o script executável)).
Com um pouco mais de configuração do seu servidor git-http-backend pode oferecer melhor desempenho.
Ah, espere, eu entendi, this explica como fazer isso usando o git-daemon :
git-daemon &
touch git-daemon-export-ok
git clone git : //myserverip/home/git/example.git
Em todas as minhas conversas, eu falo de DAV como o "monstro de Loch Ness" - eu ouvi dizer que existe, mas ainda não o vi: -)
E no final do ano passado, com o git-http-backend, você não precisa mais desse "monstro". Por favor, atualize o passado 1.6.6 e trate-se de uma experiência muito melhor. Não há mais DAV ... apenas apache simples com um CGI inteligente falando com git real ...