当前位置: > > > > 有没有办法用 go-github 客户端验证 git sha 是否属于 git 分支?
有没有办法用 go-github 客户端验证 git sha 是否属于 git 分支?
来源:stackoverflow
2024-04-20 15:00:22
0浏览
收藏
一分耕耘,一分收获!既然打开了这篇文章《有没有办法用 go-github 客户端验证 git sha 是否属于 git 分支?》,就坚持看下去吧!文中内容包含等等知识点…希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!
问题内容
想使用 go GitHub 客户端来获取如下结果 git分支-r origin/<branch> --包含<sha>
正确答案
我似乎无法找到一个 api 端点来专门回答 sha 是否属于分支,因此您必须在分支内迭代提交。像这样的东西:
func main() {
ctx := context.Background()
sts := oauth2.StaticTokenSource(
&oauth2.Token{AccessToken: "<token>"},
)
tc := oauth2.NewClient(ctx, sts)
client := github.NewClient(tc)
repoOwner := "<owner>"
repoName := "<repo>"
branchToSearch := "<branch>"
shaToFind := "<sha>"
resultsPerPage := 25
listOptions := github.ListOptions{PerPage: resultsPerPage}
for {
rc, resp, err := client.Repositories.ListCommits(ctx,
repoOwner,
repoName,
&github.CommitsListOptions{
SHA: branchToSearch,
ListOptions: listOptions,
},
)
if err != nil {
log.Panic(err)
}
for _, c := range rc {
if *c.SHA == shaToFind {
log.Printf("FOUND commit \"%s\" in the branch \"%s\"\n", shaToFind, branchToSearch)
return
}
}
if resp.NextPage == 0 {
break
}
listOptions.Page = resp.NextPage
}
log.Printf("NOT FOUND commit \"%s\" in the branch \"%s\"\n", shaToFind, branchToSearch)
}
今天关于《有没有办法用 go-github 客户端验证 git sha 是否属于 git 分支?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注米云公众号!
