Como posso baixar um repositório privado do GitHub sem acesso a "git" na minha máquina local?

8

O que eu quero fazer é baixar o arquivo do repositório privado do GitHub, extraí-lo, remover o arquivo e copiar alguns diretórios que estão dentro do projeto baixado.

Eu tentei usar wget , mas não posso me autorizar:

wget --header='Authorization: token MY_TOKEN_CREATED_ON_GITHUB' https://github.com/MY_USER/MY_REPO/archive/master.tar.gz -O - | tar xz

Eu também tentei com cURL :

curl -i -H 'Authorization: token MY_TOKEN_CREATED_ON_GITHUB' https://github.com/MY_USER/MY_REPO/archive/master.tar.gz > file.tar.gz | tar xz

Aqui a autorização é aprovada, mas não consigo extrair o arquivo.

Como fazer isso?

    
por Kamil Lelonek 30.03.2014 / 15:10

1 resposta

3

A solução com wget seria algo como:

wget --header="Authorization: token <OAUTH-TOKEN>" -O - \
    https://api.github.com/repos/<owner>/<repo>/tarball/<version> | \
    tar xz --strip-components=1 && \
    cp -r <dir1> <dir2> ... <dirn> <destination-dir>/

Notas:

  • --strip-components=1 removerá o diretório de nível superior contido na armação criada pelo GitHub,
  • certifique-se de não colocar um / no final dos diretórios que devem ser copiados com cp ( <dir1> , <dir2> , ..., <dirn> ) e que o resultado final / está presente no final do diretório de destino ( <destination-dir> ).
por 11.09.2014 / 10:03