18

[[请注意,自从第一次提出这个问题以来,Github 发生了很大变化;而不是“下载页面”改为“新版本”。]]

我生成 PDF 文档作为我项目的一部分,我希望它们与我的 Git 存储库保持同步(人们并不总是可以构建自己的,因为他们经常使用专有字体)。

但是,将 PDF 添加到存储库并不是真正的“正确”,因为它是派生文件;此外,这样做会显着增加提交的大小和整个存储库的大小。

是否可以以编程方式将文件发送到 GitHub 下载页面?(我知道标记的提交会自动添加到那里,git push --tags但我不知道这是在哪里记录的。我想我可以通过添加一个仅包含 PDF 本身的单独分支来做一些花哨的事情——就像 GitHub 用户页面所做的那样——但我以这种方式使用 Git 有点生疏。)

4

4 回答 4

10

Github API v3 支持此功能

GitHub 还提供了一个基于java API的maven 插件,它是GitHub 的 Eclipse Mylyn 连接器的一部分。

有一个名为github_api的红宝石宝石。

另一个答案是关于可用于perlruby​​ 的 net-github-upload 。

于 2012-04-15T10:00:30.707 回答
9

查看可用的net -github-upload

对于 perl: http: //github.com/typester/net-github-upload-perl 和 ruby​​:http: //github.com/Constellation/ruby-net-github-upload

有了它,您可以编写一个小脚本来轻松上传和更新您的 PDF。可悲的是,github家伙自己没有提供简单的方法..

欢呼!

于 2010-04-23T13:54:47.383 回答
2

GitHub 博客文章宣布此功能已被禁用:https ://github.com/blog/1302-goodbye-uploads

于 2013-01-07T05:45:58.290 回答
1

我认为“GitHub下载页面”的所有者是指可以通过“下载”按钮下载的repo——更具体地说是一个分支。

如果您想使用 API 将文件添加到 repo,您​​必须熟悉此处描述的过程:https ://developer.github.com/v3/git/

这不是世界上最简单的过程,但掌握它会迫使你理解 blob、树、提交和引用等概念。

你不能仅仅因为你在使用 Git 而“发送一个文件”到一个 repo,而且 Git 有一些你不能忽视的“内部期望”(你不可能将 GitHub 想象成某种主机可以ftp)。解释在 GitHub 存储库中创建文件所需的流程肯定超出了原始问题的范围,但要提供一个明确的答案:不,不可能编程方式在 GitHub 上上传文件,但是可以以编程方式推送GitHub 上的文件”。

有一个名为GitHubTreePHP的 PHP 库可以让你自动化这个过程(免责声明:我写的)。

于 2014-07-03T15:48:25.110 回答