能否批量克隆Bitbucket项目下的所有仓库而非单个仓库?
Bitbucket 批量克隆项目下所有仓库的方法
当然有批量克隆的方法,下面给你两种实用方案,针对你提到的shcdemo工作区下的EAR项目:
方案一:用Bitbucket REST API + Shell脚本
这种方法无需额外安装复杂工具,只要有curl和git就能搞定,步骤如下:
生成Bitbucket个人访问令牌(PAT)
登录Bitbucket后,进入个人设置→应用密码,创建一个带repository:read权限的令牌,保存好备用。创建并执行Shell脚本
新建一个clone-all-repos.sh文件,填入以下内容,替换其中的YOUR_PAT为你刚生成的令牌:#!/bin/bash WORKSPACE="shcdemo" PROJECT_KEY="EAR" TOKEN="YOUR_PAT" CLONE_DIR="./ear-project-repos" # 创建存放仓库的目录 mkdir -p $CLONE_DIR cd $CLONE_DIR # 调用Bitbucket API获取项目下所有仓库的HTTPS克隆地址 curl -s -u "你的Bitbucket用户名:$TOKEN" "https://api.bitbucket.org/2.0/repositories/$WORKSPACE?q=project.key=\"$PROJECT_KEY\"" | \ jq -r '.values[] | .links.clone[] | select(.name == "https") | .href' | \ while read repo_url; do git clone $repo_url done注意:需要提前安装
jq(JSON解析工具),Mac可通过brew install jq安装,Linux用apt install jq或yum install jq。运行脚本
给脚本加执行权限:chmod +x clone-all-repos.sh,然后运行:./clone-all-repos.sh,脚本会自动创建目录并克隆所有仓库。
方案二:用Bitbucket官方CLI工具(bb)
Bitbucket官方命令行工具bb操作更简洁:
安装bb工具
根据系统选择安装方式:Mac用brew install bb,Linux可从官方发布页下载二进制文件,Windows用Chocolatey或直接下载。登录Bitbucket
运行bb auth login,按提示输入账号和PAT完成登录。批量克隆仓库
切换到目标存放目录,运行以下命令:bb repo list --workspace shcdemo --project EAR --format json | \ jq -r '.[].links.clone.https.href' | \ xargs -I {} git clone {}若你的
bb版本支持,也可以用更简便的命令:bb repo clone --workspace shcdemo --project EAR --all不同版本的
bb命令可能略有差异,若--all参数无效,就用前面的管道命令。
注意事项
- 确保PAT有足够权限,至少需要仓库读取权限。
- 仓库数量较多时,克隆过程耗时较长,不要中断脚本。
- 若克隆失败,检查网络连接或PAT权限是否正确。
内容的提问来源于stack exchange,提问作者bobsmith76
相关产品推荐
相关产品推荐

