【发布时间】:2019-12-26 09:18:47
【问题描述】:
我的 gitlab 帐户中有 200 多个项目。我想全部下载。我正在使用以下命令。
TOKEN="XXXXXXXXXX";
PREFIX="ssh_url_to_repo";
curl --header "PRIVATE-TOKEN: $TOKEN" http://vrath.gitlabtest.com/api/v4/projects?per_page=100 |
grep -o "\"$PREFIX\":[^ ,]\+" |
awk -F ':' '{printf "ssh://"; for (i=2; i<NF; i++) printf $i "/"; print $NF}' |
xargs -L1 git clone
上述命令运行良好,但仅下载 100 个项目。我尝试进行分页,但它不起作用。
TOKEN="XXXXXXXXXX";
PREFIX="ssh_url_to_repo";
curl --header "PRIVATE-TOKEN: $TOKEN" http://vrath.gitlabtest.com/api/v4/projects?per_page=100&page=2 |
grep -o "\"$PREFIX\":[^ ,]\+" |
awk -F ':' '{printf "ssh://"; for (i=2; i<NF; i++) printf $i "/"; print $NF}' |
xargs -L1 git clone
- 谁能帮我解决这个问题?有没有更好的办法?
- 如果你看到这个命令:
grep -o "\"$PREFIX\":[^ ,]\+" | awk -F ':' '{printf "ssh://"; for (i=2; i<NF; i++) printf $i "/"; print $NF}'
它会列出“vrath.gitlabtest.com”中的所有项目,但我可以在这里添加一些文件管理器吗?它将仅列出“vrath.gitlabtest/app1”或“vrath.gitlabtest/app2”的项目
【问题讨论】: