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 進行身份驗證。