gitlab如何实现批量clone仓库
环境
- windows环境
步骤一
需要有一个gitLab的group id,使用这个group id去查询组中的所有项目。示例:
http://gitlab域名/api/v4/groups/你的group id
你会得到一个json字符串。需要从中获取http_url_to_repo或ssh_url_to_repo字段的值,此处以http_url_to_repo为例。
步骤二
如何处理这个json字符串来获取需要的数据,我使用sublime为例。
- 将json字符串复制到sublime中
- 使用快捷键ctrl+h将
"http_url_to_repo"
替换为换行符+"http_url_to_repo"
。ps:ctrl+enter是换行符 - 使用快捷键ctrl+h将
,"web_url"
替换为换行符+,"web_url"
- 从左到右拉过去,选中关键字
"http_url_to_repo"
,然后使用快捷键alt+F3选中所有"http_url_to_repo"
- 使用shift+end就选中了所有关键字所在行
- 用ctrl+x剪切下来
图例:
步骤三
新建一个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等操作。