gitlab如何实现批量clone仓库

环境

  • windows环境

步骤一

需要有一个gitLab的group id,使用这个group id去查询组中的所有项目。示例:

http://gitlab域名/api/v4/groups/你的group id

你会得到一个json字符串。需要从中获取http_url_to_repossh_url_to_repo字段的值,此处以http_url_to_repo为例。

步骤二

如何处理这个json字符串来获取需要的数据,我使用sublime为例。

  1. 将json字符串复制到sublime中
  2. 使用快捷键ctrl+h"http_url_to_repo"替换为换行符+"http_url_to_repo"。ps:ctrl+enter是换行符
  3. 使用快捷键ctrl+h,"web_url"替换为换行符+,"web_url"
  4. 从左到右拉过去,选中关键字"http_url_to_repo",然后使用快捷键alt+F3选中所有"http_url_to_repo"
  5. 使用shift+end就选中了所有关键字所在行
  6. ctrl+x剪切下来

图例:
image

步骤三

新建一个h.txt文件,将步骤二最后剪切的数据保存到其中。使用ctrl+h处理一下,只保留http_url_to_repo的值。
最终结果示例:

http://git用户名:git密码@git仓库地址
http://git用户名:git密码@git仓库地址
http://git用户名:git密码@git仓库地址
http://git用户名:git密码@git仓库地址

其中git的用户名和密码可以自行使用ctrl+h批量添加上去

步骤四

新建一个e.bat文件,内容如下:

@echo off
echo 'start clone h.txt file'
pause
for /f %%i in (h.txt) do git clone %%i
echo 'finish clone h.txt file'
pause

步骤五

将h.txt和e.bat放到同一个文件夹下。打开cmd命令窗口,cd到该文件夹下,然后执行start e.bat就开始克隆h.txt中所有的仓库了。并且由于在url中加入了git用户名和密码,可以直接对下载下来的仓库进行pull,push等操作。

posted @ 2024-06-12 00:05  竹堑  阅读(16)  评论(0编辑  收藏  举报