0

我想要一个 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 的情况下获取列表?

提前感谢!

4

0 回答 0