Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用一些自动脚本在Github上下载存储库所有版本的源代码?_Github_Download_Repository_Github Api - Fatal编程技术网

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

如何使用一些自动脚本在Github上下载存储库所有版本的源代码?,github,download,repository,github-api,Github,Download,Repository,Github Api,我在GitHub上有一些公共存储库的详细信息。有没有办法编写一个脚本,将所有这些存储库的源代码下载到我的本地机器上?在下载源代码时,我希望下载project的所有早期版本 例如:RxJava项目有大约124个版本,如图所示。我想知道是否有办法编写一个程序,将所有这124个版本的源代码下载到我的机器上。我不想在每个版本上单击“下载源代码”按钮。最简单的方法是: 克隆repo(这将为您提供与每个标记匹配的源) 做一个git标记,并为每个标记卷曲发行版。 事实上,由于发行版是源代码,您不必卷曲任何东

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

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

最简单的方法是:

  • 克隆repo(这将为您提供与每个标记匹配的源)
  • 做一个git标记,并为每个标记卷曲发行版。
    事实上,由于发行版是源代码,您不必卷曲任何东西
要访问“版本”的源代码,只需签出与该版本匹配的标记

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

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

  • 使用获取所需项目的详细信息
  • 这将为您提供一个JSON对象,该对象具有以下属性

    “发布url”:“

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

  • 步骤3中获得的JSON对于每个版本的project都具有如下所示的属性

    “zipball_url”:“

  • 现在将上述URL中的内容复制到输出流中,以获取所需的源代码

  • 示例源代码可用