有没有办法从给定的BitBucket服务器中检索所有远程URL。
我们有很多应用程序正在从现有的SCM转移到BitBucket。我们的BB管理员正在BitBucket服务器上为我们创建存储库。
然后我们将通过访问Web界面为每个存储库获取类似于(ssh://git@ourserver.com:7999/sample/template-repo.git)
的ssh url。然后,我们选择要用于该运行的存储库,选择clone - >该存储库的ssh协议并复制信息。然后,将在此过程中使用此URL以使用当前SCM应用程序中的文件填充存储库。
我看了ls-remote,但我认为这是出于不同的目的。
我想知道是否有任何命令行git命令将一次性从给定服务器中提供所有存储库URL的列表,我可以将其保存在文本文件中并在我的转换过程中使用它们。我是git的新手,并且几周前才开始使用它。我还没有找到这样做的命令。
感谢任何有关如何操作或任何可以指导我实现目标的资源的帮助。
答案 0 :(得分:4)
这不是一个git命令,它没有" server" (它只处理一个git仓库)
您可以尝试使用Bitbucket Server REST APIs,看看是否可以通过这种方式获取回购列表(提供身份验证可让您访问所有回购信息)。
其supported API endpoints包含 projects
和projects/repos
。
curl -u fred:fred http://<yourBitBucketServer>/rest/api/1.0/projects
答案 1 :(得分:1)
您可以尝试使用 Bitbucket RestAPI 来检索每个存储库的详细信息(网址、分支等)。
示例 1 从特定工作区获取所有存储库数据
curl -u {credentials} 'https://api.bitbucket.org/2.0/repositories/WORKSPACE/?pagelen=100&page=1'
示例 2 从特定工作区的所有存储库中获取特定数据(存储库名称)
curl -u ${credential} 'https://api.bitbucket.org/2.0/repositories/WORKSPACE/?pagelen=100&page=1&fields=values.full_name'
这里也是我给的一个例子。 https://www.svastikkka.com/2020/12/how-to-fetch-all-repositories-of-any.html