如何使用GIT将所有存储库从Bitbucket克隆到团队中
我想知道是否有可能从git之后的bitbucket克隆团队中的所有存储库 提前谢谢。我已经和好了。测试它,并从如何使用GIT将所有存储库从Bitbucket克隆到团队中,git,clone,bitbucket,repository,Git,Clone,Bitbucket,Repository,我想知道是否有可能从git之后的bitbucket克隆团队中的所有存储库 提前谢谢。我已经和好了。测试它,并从系统()中删除回音,调用它来实际执行克隆 #/usr/bin/env ruby #用法:./clone组织名称 #(./clone insted) 需要“打开uri” 需要“json” team=ARGV[0]| | raise(“必须指定组织名称”) 把“抓取”https://bitbucket.org/!api/1.0/users/#{team}…” data=JSON.parse(
系统()中删除回音,
调用它来实际执行克隆
#/usr/bin/env ruby
#用法:./clone组织名称
#(./clone insted)
需要“打开uri”
需要“json”
team=ARGV[0]| | raise(“必须指定组织名称”)
把“抓取”https://bitbucket.org/!api/1.0/users/#{team}…”
data=JSON.parse(打开https://bitbucket.org/!api/1.0/users/#{team}”).read)
数据[“存储库”]。每一个都做| repo|
#删除“echo”以进行克隆
系统(“echo{repo[“scm”]}克隆https://bitbucket.org/#{team}/{repo[“slug”]}”)
结束
下载
通过授权浏览器获取并检查cookie,并找到bb_会话cookie
执行以下操作,替换[teamslug]和[bb_cookie]
A=[teamslug];BBCOKIE=[bb_cookie];以美元为单位的回购(curl-s-o'https://bitbucket.org/!api/1.0/users/$A'| jq--原始输出'.repositories[].slug');做echo git克隆吗https://bitbucket.org/$A/$repo>>所有团队的回购;完成
上海所有团队
是一个免费的开源工具,我开发它来克隆一堆BitBucket或GitHub存储库
例如:
git_cloner --type bitbucket --login user --password password https://my_bitbucket
使用REST API:
获取所有项目的JSON:
http://my_bitbucket/rest/api/1.0/projects
或:
http://my_bitbucket/rest/api/1.0//projects
使用每个项目的存储库获取JSON:
http://my_bitbucket/rest/api/1.0/projects/<project_name>/repos?limit=10000
http://my_bitbucket/rest/api/1.0/projects//repos?limit=10000
通过JSON中的['links']['Clone']['href']
参数克隆repos
完整示例:对于我使用的跟踪脚本,您可以将其用于git
导入getpass
导入请求
导入urllib.parse
导入json
导入操作系统
用户名=输入('username:')
password=getpass.getpass(“密码:”)
参数={
“pagelen”:100
}
url=”https://api.bitbucket.org/2.0/repositories/%s%用户名
url=url+“?”+urllib.parse.urlencode(参数)
repos_data=requests.get(url,auth=(用户名,密码))
repos_data=json.load(repos_data.content)
对于回购数据中的回购[“值”]:
系统(“hg克隆%s”%repo[“链接”][“克隆”][1][“href”])
我认为GIT本机不支持这一点,但是有一个端点,您可以在其中获取特定团队的所有repo,如下所述—(例如,Atlassian的存储库:)。我敢打赌,有一种方法可以通过某种方式使用该API的结果-关于ssh密钥
?@Shamoon,脚本使用https
协议,因此没有ssh连接。您可以根据自己的需要调整系统()
,它只需为每个存储库运行$VCS clone$URL
。你有什么特别的问题让你问这些密钥吗?好吧,我正在尝试为我的服务的用户克隆。如果你有一个自托管bitbucket服务器,你知道如何找到组织名称吗?@tyrell_c如果你说的是Atlassian的秘密,那么你似乎有一个叫做项目的东西,你在其中放置了存储库。检查以获得一个想法-我不使用隐藏,所以我不能真的帮助那里。感谢改进这一点。但是,如果您是此工具的作者,我们要求您。我不能确定你是否与它有关联,但它看起来像它。是的,它是我的工具,有免费许可证。