Como eu sei que repositórios meu servidor git está servindo?

2

Acabei de ter acesso a um servidor que alguém disse ser "o repositório git"

Eu não usei o git antes, mas suponho que isso deva significar que há um conjunto de arquivos em algum lugar que são as "cópias douradas" que outros desenvolvedores estão obtendo quando fazem suas atualizações do git. Como faço para encontrar o que esses diretórios são? Como posso determinar qual o "URL de acesso" que as pessoas que querem fazer o checkout podem usar?

Obrigado

    
por Derek 09.07.2012 / 23:24

1 resposta

2

Note que o Git, assim como outros DVCS, usam conceitos ligeiramente diferentes dos sistemas SVN ou CVS centralizados. Em particular, o uso normal não é para "check-out", mas para clonar um repositório, baixando seu histórico completo em vez de apenas a cabeça - em outras palavras, o fato de seu servidor ter "cópias douradas" é apenas político, e qualquer clone pode ser usado como uma "cópia de ouro" facilmente. Isso não é muito importante agora, mas vale a pena lembrar, no entanto, em particular quando você se esquece de fazer backups ...

Descubra qual software foi usado para configurar o servidor - foi Gitolite, Gitosis ou apenas uma configuração personalizada de ssh + git-daemon?

Gitolite e Gitosis usam um arquivo de configuração central e mantêm tudo no diretório inicial de uma conta chamada git . Execute cd ~git , procure por repositórios lá. Os URLs provavelmente serão git://<server>/<repository>.git para acesso público e git@<server>:<repository>.git para envio de SSH. Tanto o Gitosis quanto o Gitolite possuem ferramentas de gerenciamento separadas - tente o comando gitolite .

Se tal conta não existir no sistema, ou se não contiver o repositório "admin", verifique se há algo escutando na porta 9418, a porta do protocolo inteligente Git; se for git-daemon , verifique sua linha de comando com ps www <pid> . As URLs públicas ainda começarão com git://<server>/ , mas o resto dependerá das opções de linha de comando do git-daemon; pode ou não exigir o caminho completo do sistema de arquivos, pode ou não suportar "vhosts"; pode ou não ter% user_dir de estilo ~username/path/repo.git habilitado. Os endereços SSH podem ser <username>@<server>:</path/to/repo>.git ; note que o SSH sempre funciona mesmo sem o git-daemon.

O servidor também pode ter uma interface da web configurada (cgit ou gitweb), que deve listar todos os repositórios configurados. Tente acessá-lo em um navegador da web. Procure em /etc para configuração do gitweb / cgit.

Um comando útil é git ls-remote <url> , que pode mostrar um resumo rápido de um repositório sem cloná-lo. Dessa forma, você pode verificar se os URLs são válidos.

    
por 09.07.2012 / 23:56

Tags