Como ver os repositores que você criou no Github via linha de comando? [fechadas]

1

Como posso ver os repositores que você criou no Github via linha de comando?

    
por ofrancisco 18.10.2017 / 21:44

1 resposta

1

Você pode fazer uma solicitação HTTP GET para a API REST do GitHub para consultar uma lista de repositórios pertencentes a um determinado usuário. Eu vou usar wget para o pedido, que deve vir pré-instalado no Ubuntu. Uma ferramenta alternativa poderia ser, e. curl .

A resposta é um objeto JSON bastante grande, portanto, decidi usar jshon (instalá-lo com sudo apt install jshon ) como analisador JSON para extrair apenas os nomes do repositório. Você também pode ver a resposta completa ou usar qualquer outro método de análise que desejar. Se for apenas para leitores humanos e você não se importar muito com a formatação, bastando percorrê-lo com grep full_name já deve ser suficiente.

Então, vamos começar com o comando. Para obter uma lista dos meus repositórios públicos do GitHub (obviamente, o nome do usuário é "ByteCommander"), eu executaria isso:

wget -qO- 'https://api.github.com/users/ByteCommander/repos' | jshon -a -e 'full_name' -u

Você deve obter alguma saída semelhante a essas linhas (apenas mais algumas ...):

ByteCommander/AdventOfCode
ByteCommander/ByteCommander.github.io
ByteCommander/ChatExchange6
ByteCommander/dynamodb-local

O comando acima pode ser dividido na solicitação HTTP feita por wget , que obtém sua resposta emitida no STDOUT e canalizada para o analisador JSON que extrai as informações relevantes.

wget -qO- 'https://api.github.com/users/ByteCommander/repos'

Isso obviamente envia uma solicitação para o URL fornecido. Substitua ByteCommander pelo seu nome de usuário do GitHub. As -qO- são opções que modificam como wget produz a resposta. É a abreviação de -q (silencioso, sem saída de progresso / status) e -O - (o arquivo de saída é STDOUT). Leia mais sobre isso em man wget .

jshon -a -e 'full_name' -u

Isso faz com que o analisador jshon leia dados JSON de STDIN (onde a saída de wget é canalizada) e analisa-os de acordo com as opções especificadas. -a aplica a seguinte operação em todos os elementos da matriz de resposta: -e 'full_name' , que extrai a propriedade "full_name" dos objetos aos quais ela é aplicada. -u finalmente apenas remove as aspas ao redor dos valores de string extraídos. Leia mais sobre isso em man jshon .

Você pode encontrar uma explicação detalhada da API REST do GitHub v3 e especialmente o endpoint list-user-repositories e seu formato de resposta JSON em sua documentação oficial .

    
por Byte Commander 18.10.2017 / 22:58