在GitHub上分发我的项目的二进制文件的最佳方法是什么?

13
我有一个小型的github仓库,可以将MS Word文档转换成其他格式,但是大多数人只需要二进制文件。
那么我应该:
  • 重新组织我的仓库,创建src/bin/目录,并将最新的.exe放在代码中,期望用户下载整个仓库?
  • 编译并将我的二进制文件放在其他地方的网络上并链接到它?
  • 将我的二进制文件包含在我的仓库中但单独链接到它?

现在您可以在 GitHub 发布中定义,以托管您的二进制文件:请参见下面的我的回答 - VonC
3个回答

10

如果您想为应用程序托管二进制文件,自2013年7月2日起,可以定义一个发布版本

发布版本是一种将软件发送给最终用户的工作流程。
发布版本是一种一级对象,具有变更日志和二进制资产,展示了超出Git工件的完整项目历史记录。它们可以从存储库的主页访问:

homepage

发布版本附带发布说明和软件或源代码下载链接。 按照许多Git项目的惯例,版本与Git标签相关联。您可以使用现有标签,也可以在发布时让版本创建标签。 您还可以将二进制资产(如已编译的可执行文件、缩小的脚本、文档)附加到发布中。发布后,发布详细信息和资产可供任何可以查看存储库的人使用。

release

这个新功能取代了旧的二进制上传服务, 该服务已于2012年12月被移除(正如你在问题中提到的)。


3

也许不是你想听到的,但在你的情况下,这主要取决于个人偏好。

你不必将二进制文件存储在仓库中,因为它不是重要的依赖项。反过来说:应该将所有需要重新创建文件的东西都放入你的仓库中(包括 Makefiles/project files)。

你可以将二进制文件存储在仓库中,因为它相当小。如果总的大小(基本大小+ diffs 的大小,取决于 diffs 有多大)在仓库中非常大,则不应将其存储在仓库中,但这似乎不是问题(根据你的仓库,约为 500 KiB)。


我的个人偏好是永远不要将生成的文件(二进制文件,但也包括生成的文本文件)存储在仓库中。 可能是因为我有使用过 2 GiB csv 仓库的经验,拉取需要很长时间。(公平地说:编译也需要很长时间)

对于我的 GitHub 项目,我在一些网站空间上创建了一个子域名,将所有下载和该子域名的索引页面放在那里。 GitHub 页面链接到我网站空间子域名上的下载链接。只是因为我喜欢我的 GitHub 子域名更适用于这个项目。

我的工具适用于不同的平台,因此并不是每个用户都需要每个二进制文件。实际上,这些二进制文件是后端(因此是依赖项),但是可互换/可选的。

你可以查看我的设置


0

我已经尝试过它并且它可以工作,但只有两个项目站点。我认为您也可以将代码托管在GitHub上,并将二进制下载包放在Google Code上。 - ruben2020

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接