API
首先确定对应的 GitHub 接口地址,并将其中的 <org>
和 <user>
分别替换为组织和个人的名称。
由于 GitHub API 最大支持每页 100
条结果,当仓库数量超过该值时,则需要翻页(page
)进行多次克隆。
组织仓库 API
1URL="https://api.github.com/orgs/<org>/repos?per_page=100&page=1"
用户仓库 API
1URL="https://api.github.com/users/<user>/repos?per_page=100&page=1"
克隆仓库
由于两个接口返回格式是类似的,填好接口地址后,接着使用以下命令进行克隆。
1curl $URL |
2 jq '.[] | .ssh_url' |
3 xargs printf 'git clone %s & ' |
4 sh
curl $URL
调用接口。jq '.[] | .ssh_url'
读取每个仓库的ssh_url
,当然你可以使用clone_url
以 HTTPS 协议克隆。xargs printf 'git clone %s & '
对多个克隆命令进行拼接,其中尾部的&
表示后台运行,其不会等待其他命令返回结果。sh
执行上述生成的多个克隆命令。
若需要克隆私有仓库,请参考对 REST API 进行身份验证。