```
# pip install pygerrit2
from pygerrit2 import GerritRestAPI, HTTPBasicAuth, HTTPDigestAuth
url = {'url':'http://gerritIP:8080/', 'user':'userName', 'password':'passWord'}
#password是Gerrit的账号密码,不是Gerrit-设置里面的http密码
auth = HTTPBasicAuth(url['user'], url['password'])
rest = GerritRestAPI(url['url'], auth)
repo1 = "a_b_c"
repo2 = "a%2Fa%2Fc"
#如果仓库名有斜杠,需要写成url的特定字符:%F
all_data = rest.get("/projects/%s/branches/" % repo1)
for data in all_data:
branch = data["ref"]
print(branch)
#会输出分支list,但是会连权限仓的一起输出,
就是获取的仓库为A,A的权限仓为B,B里面对某一分支C做了权限设置,而A并没有这个分支,那么获取到的branch list,也会展示出这个分支C
Gerrit 获取指定仓库的所有分支:
rest api 的方式,获取到的branches是连带权限仓的,如果进行所有仓库分支盘点的时候,显然通过web端一个个看或者将代码获取下来,再通过git branch -a查看,也是比较麻烦的,那么还有一种方法,稍微简单一些,不用将代码下载下来:
1. 新建空目录
2.git init
3. git add remote test <需要获取分支list的远程仓库> | 如:git remote add test ssh://test.gerrit.com:29418/test_repo
4. git remote show test
就可以看到这个仓库的分支了
然后把这个分支删掉,再以同样的方式获取下一个仓库
![image.png](https://img.haomeiwen.com/i14259740/612ec602d0590106.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
或者,直接git add remote test2 <url2> && git remote show test2 也可以看到url2的分支,这样就不用删除的操作。
```
更简便方法 在.git同级目录下,使用:git ls-remote RepoUrl
网友评论