Eu tenho um repositório Git. Este repositório tem vários repositórios remotos (eu acho). Como posso obter uma lista dos repositórios remotos que pertencem ao referido repositório?
Gosta git list --remotes
ou algo assim?
Você pode obter uma lista de todas as URLs remotas configuradas com o comando git remote -v
.
Isso fornecerá algo como o seguinte:
base /home/***/htdocs/base (fetch)
base /home/***/htdocs/base (push)
origin [email protected]:*** (fetch)
origin [email protected]:*** (push)
git remote -v
porque -v é detalhado.git remote
fornece uma lista simples de controles remotos (base, origem neste caso). A opção -v inclui o URL para as operações de busca e envio de cada controle remoto.-v
para "detalhado" é realmente a opção mais comum. Também é suportado porgit branch
. A diferença básica é as opções curta versus longa (traço simples vs duplo, essencialmente). Dito isso, fazer o suporte a --list com oremote
subcomando faria sentido. Se você realmente quiser, diria que envie uma solicitação de recurso.Se você precisar apenas dos nomes dos repositórios remotos (e não de outros dados),
git remote
basta um simples .fonte
FWIW, eu tinha exatamente a mesma pergunta, mas não consegui encontrar a resposta aqui. Provavelmente não é portátil, mas pelo menos para o gitolite, posso executar o seguinte para obter o que quero:
fonte
As respostas até o momento mostram como encontrar ramificações existentes:
Ou repositórios para o mesmo projeto [veja nota abaixo] :
Há outro caso. Você pode querer saber sobre outros repositórios de projetos hospedados no mesmo servidor.
Para descobrir essas informações, eu uso o SSH ou o PuTTY para efetuar login no host e
ls
encontrar os diretórios que contêm os outros repositórios. Por exemplo, se eu clonasse um repositório, digitando:e quero saber o que mais está disponível, eu entro no git.mycompany.com via SSH ou PuTTY e digito:
assumindo
ls
diz:Eu posso usar o comando
para ter acesso ao outro projeto.
fonte
Uma maneira simples de ver ramificações remotas é:
Para ver filiais locais:
fonte
git ls-remote
deve mostrar todos os controles remotos disponíveis para busca no servidor upstream ( git-scm.com/docs/git-ls-remote ). Acredito que todas as respostas desta página apenas digam como listar os controles remotos e os ramos de rastreamento que você já buscou, que é um Catch-22. Você não pode buscar um controle remoto até saber como se referir a ele no servidor upstream.Nenhum desses métodos funciona da maneira que o interlocutor está solicitando e do qual muitas vezes eu também precisei. por exemplo:
O objetivo principal de fazer isso é que você não possui nenhuma informação, exceto o usuário e servidor remotos, e deseja descobrir a que tem acesso.
A maioria das respostas assume que você está consultando de dentro de um conjunto de trabalho do git. O interlocutor está assumindo que você não é.
Como um exemplo prático, suponha que havia um repositório foo.git no servidor. Alguém em sua sabedoria decide que precisa mudar para foo2.git. Seria realmente bom fazer uma lista de um diretório git no servidor. E sim, vejo os problemas para o git. Ainda seria bom ter isso.
fonte