git - 如何自动 git 克隆您所有的私有存储库?(在 github 上使用 api)
问题描述
作为一个想要自动化一切的人,我想知道如何使用 linux 下的 github public api(v3) 自动将我所有的私有和公共存储库下载到我的磁盘上。使用 /bin/sh。
问候
解决方案
这是一个有点老套的解决方案,我有点渴望看到一个干净的解决方案。无论如何,也许有人也需要这个,因为我没有在网上找到解决方案,我会尽快解释。
您可以执行的原始代码可以在这里找到:https ://gist.github.com/Pierrefha/0436e7bf907d5ed794fe489b06bbac14
首先,我们使用 curl 来获取所有公共和私人仓库的列表。
curl -u USERNAME:TOKENVALUE \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/user/repos
然后我们只选择包含 git url 的行。
grep git_url
现在我们将 .com 之前的所有内容替换为和 ",最后用一个空字符串
sed -E sQ.*.com\/\|\",QQg
最后但并非最不重要的一点是,我们获取剩余的字符串(我们的 repos 的确切名称)并使用 xargs 来克隆 repos。
xargs -I% git clone git@github.com:%
我们完成了。
推荐阅读
- python - 将特定时间格式转换为另一种格式
- php - Laravel 如何解析模型中的一些方法?
- node.js - 在 IISnode 的请求正文中发送带有大数据的发布请求时,在 IIS 中不起作用
- excel - Excel vba combobox.value 读取十进制值的 10 倍
- ubuntu - phpmyadmin 配置路径不起作用
- python - pyinstaller 使用第三方模块创建的 exe 无法运行
- forms - Laravel 8 - 多选仅返回请求中的一项
- r - 如何按行的顺序用ggplotly绘制条形图?
- android - Flutter Firebase Firestore 列表数据保存无法将索引召回为
- javascript - Nodejs,我如何等到上一个帖子请求完成