如何使用一些自动脚本在Github上下载存储库的所有版本的源代码?

时间:2015-03-31 14:01:22

标签: github download repository github-api

我在GitHub上有一些公共存储库的详细信息。有没有办法编写一个脚本,将所有这些存储库的源代码下载到我的本地机器上?在下载源代码时,我希望下载所有以前版本的项目。

Ex:Project RxJava有大约124个版本,如here所示。我想知道是否有办法编写一个程序,将所有这124个版本的源代码下载到我的机器上。我不想在每个版本上点击下载源代码按钮。

2 个答案:

答案 0 :(得分:2)

最简单的是:

  • 克隆回购(将为您提供与每个标记匹配的来源)
  • 做一个git标签,并为每个标签卷曲释放 实际上,由于发布源代码,因此您无需卷曲任何内容。

要访问“发布”的源代码,只需签出与发布匹配的代码即可。

cd /path/to/cloned/repo
git checkout 1.0.8

答案 1 :(得分:0)

这就是我想出解决方案的方法:

  1. 使用Repository Search API获取所需项目的详细信息。
  2. 这为您提供了一个具有以下属性

    的JSON对象

    " releases_url":" https://api.github.com/repos/ReactiveX/RxJava/releases",

  3. 使用上面的url获取描述项目发布细节的JSON对象

  4. 在步骤3中获得的JSON具有以下针对每个项目版本

    给出的属性

    " zipball_url":" https://api.github.com/repos/ReactiveX/RxJava/zipball/v1.0.8",

  5. 现在将上述网址中的内容复制到输出流中,以获取所需的源代码。

  6. 示例源代码可用here