使用wget从私有github repo下载目录

时间:2015-02-06 08:05:08

标签: git curl wget

有没有办法使用 only wget(或curl或其他一些linux终端命令)? Git未安装在将运行此命令的计算机上。

当我尝试通过运行此命令下载我的repo的lib文件夹时,我收到404 Not Found错误:

wget --header="Authorization: token {token}" -r https://raw.githubusercontent.com/{user}/{repo}/{branch}/{path to builds dir}/lib

目录肯定存在,以下代码从目录中下载文件就好了:

wget --header="Authorization: token {token}" --output-document={file}.jar https://raw.githubusercontent.com/{user}/{repo}/{branch}/{path to builds dir}/lib/{file}.jar

1 个答案:

答案 0 :(得分:0)

这是您要以编程方式完成此任务所需的解决方案。这实际上是DownGit在后台使用的功能。使用GitHub的REST API,编写对内容​​端点执行GET请求的脚本。可以按以下方式构造端点:https://api.github.com/repos/:owner/:repo/contents/:path。替换占位符之后,示例端点为:https://api.github.com/repos/babel/babel-eslint/contents/lib。这将为您提供该文件夹中存在的所有内容的JSON数据。数据具有您所需的一切,包括内容是否是文件夹或文件,下载URL(如果是文件)以及API端点(如果是文件夹)(以便您可以获取该文件夹的数据)。使用此数据,脚本可以递归地遍历目标文件夹中的所有内容,为嵌套文件夹创建文件夹,并下载每个文件夹的所有文件。查看DownGit的代码以获取灵感。

相关问题