Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用GIT将所有存储库从Bitbucket克隆到团队中_Git_Clone_Bitbucket_Repository - Fatal编程技术网

如何使用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(

我想知道是否有可能从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(打开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的秘密,那么你似乎有一个叫做项目的东西,你在其中放置了存储库。检查以获得一个想法-我不使用隐藏,所以我不能真的帮助那里。感谢改进这一点。但是,如果您是此工具的作者,我们要求您。我不能确定你是否与它有关联,但它看起来像它。是的,它是我的工具,有免费许可证。