gitlab如何實現批次clone倉庫

竹堑發表於2024-06-12

環境

  • 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等操作。

相關文章