Programaticamente adicionar arquivos a uma página de download GitHub
-
07-07-2019 - |
Pergunta
[[Por favor note que Github mudou muito desde que esta pergunta foi feita pela primeira vez; em vez de "página de download" ler "nova versão".]]
Eu gerar a documentação PDF como parte dos meus projetos e eu gostaria que eles para ficar em sincronia com meu repositório Git (nem sempre é possível para as pessoas a construir a sua própria, uma vez que muitas vezes usam fontes proprietárias).
No entanto, não é realmente "correta" para adicionar os PDFs para o repositório, já que é um arquivo derivado; Além disso, fazendo isso aumenta significativamente o tamanho das submissões e do tamanho do repositório global.
É possível programaticamente enviar arquivos para a página de download do GitHub? (Eu sei que commits marcados são automaticamente adicionados lá com git push --tags
mas eu não sei onde isso está documentado Acho que eu poderia fazer algo extravagante, adicionando um ramo separado contendo apenas os próprios PDFs -. Como feito pelas páginas de usuários GitHub - mas Eu sou um enferrujado pouco sobre o uso Git desta forma.)
Solução
Github v3 API suporta este recurso .
GitHub também fornece um Maven plug-in baseado no java API que faz parte do conector Eclipse Mylyn para GitHub .
Há uma gema do rubi chamado github_api .
A outra resposta fala sobre-github-upload rede que está disponível para perl e rubi .
Outras dicas
check-out para net-github-upload que está disponível
para perl: http://github.com/typester/net-github-upload -perl e rubi: http://github.com/Constellation/ruby-net-github-upload
Com que você pode escrever um pequeno script para carregar e atualizar o seu PDF facilmente. Para triste não há nenhuma maneira fácil fornecido pelo github próprios caras ..
alegria!
O GitHub post no blog anunciando que esse recurso foi desativado: https://github.com/ blog / 1302-goodbye-uploads
Suponho que por "página de download GitHub", o proprietário significa um repo-mais especificamente uma sucursal de que pode ser baixado através do botão "download".
Se você quiser adicionar um arquivo a um repositório usando a API, você terá que se familiarizar com o processo descrito aqui: https://developer.github.com/v3/git/
Não é o processo mais fácil do mundo, mas dominá-lo irá forçá-lo a compreender os conceitos de gotas, árvores, commits e referências, entre outros.
Você não pode simplesmente "enviar um arquivo" a um repo porque você está trabalhando com Git e Git tem algumas "expectativas internas" que você simplesmente não pode ignorar (é impossível pensar em GitHub como uma espécie de host que você pode fTP). Explicando o fluxo necessário para criar um arquivo em um repositório GitHub é certamente além do âmbito da pergunta original, mas para fornecer uma resposta clara: Não, é não possível programaticamente Enviar um arquivo no GitHub, mas Sim é possível empurrar programaticamente um arquivo no GitHub".
Há uma biblioteca PHP chamado GitHubTreePHP que permite automatizar o processo ( Aviso :. escrevi-o)