如何一次在 GitLab 中克隆用户的所有项目?
Posted
技术标签:
【中文标题】如何一次在 GitLab 中克隆用户的所有项目?【英文标题】:How to clone all projects of a user in GitLab at once? 【发布时间】:2020-09-06 01:01:21 【问题描述】:当我安装一台新机器时,我想一次检出我存储在GitLab 的所有个人 Git 存储库。
我尝试了一些工具,例如 Gitlabber,但它们专注于群组。 Group namespaces are not the same as user namespaces 在 GitLab 中。我的项目没有组。
【问题讨论】:
【参考方案1】:根据@dinesh-balasubramanian 如何clone all repositories of a group in GitLab 的回答,我为此编写了一个命令。
使用read_api
范围创建personal access token
安装curl
和jq
运行此命令获取一个用户名的所有项目的列表,搜索它们的 SSH URL 并对每个结果执行git clone
(替换之前的占位符)
for repo in $(curl -H "PRIVATE-TOKEN: XXXX-YOUR-TOKEN-XXXX" "https://gitlab.com/api/v4/users/XXXX-YOUR-USERNAME-XXXX/projects/?page=1&per_page=100" | jq .[].ssh_url_to_repo | tr -d '"'); do git clone $repo; done;
注意:Gitlab 每页最多返回 100 个项目 (20 items by default) - 如果您有超过 100 个项目,请更改页面值
【讨论】:
以上是关于如何一次在 GitLab 中克隆用户的所有项目?的主要内容,如果未能解决你的问题,请参考以下文章