我想要一个 git repo 的所有远程分支的列表。现在,这个 git repo 可以是私有的/公共的。我有权访问令牌以访问存储库。
我正在使用这个特定的 SDK:https ://pkg.go.dev/github.com/go-git/go-git/v5
一种方法是..
r, cloneErr := git.PlainClone(projectRoot, false, cloneOptions)
remote, err := r.Remote("origin")
if err != nil {
panic(err)
}
refList, err := remote.List(&git.ListOptions{})
if err != nil {
panic(err)
}
refPrefix := "refs/heads/"
for _, ref := range refList {
refName := ref.Name().String()
if !strings.HasPrefix(refName, refPrefix) {
continue
}
branchName := refName[len(refPrefix):]
fmt.Println(branchName)
}
但是,这涉及到首先克隆 repo。如何在不克隆 repo 的情况下获取列表?
提前感谢!