登录
首页 >  Golang >  Go问答

有没有办法用 go-github 客户端验证 git sha 是否属于 git 分支?

来源:stackoverflow

时间:2024-04-20 15:00:22 294浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《有没有办法用 go-github 客户端验证 git sha 是否属于 git 分支?》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

想使用 go GitHub 客户端来获取如下结果 git分支-r origin/ --包含


正确答案


我似乎无法找到一个 api 端点来专门回答 sha 是否属于分支,因此您必须在分支内迭代提交。像这样的东西:

func main() {
    ctx := context.Background()
    sts := oauth2.StaticTokenSource(
        &oauth2.Token{AccessToken: ""},
    )
    tc := oauth2.NewClient(ctx, sts)
    client := github.NewClient(tc)

    repoOwner := ""
    repoName := ""
    branchToSearch := ""
    shaToFind := ""
    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 分支?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>