使用git OAuth令牌克隆Repo



我正在用给定的golang代码克隆公共gitrepo:(工作良好)

_, err = git.PlainClone(projectRoot, false, &git.CloneOptions{
URL:      e.Repo,
Progress: os.Stdout,
})

对于私有git仓库,我正在生成一个OAuth令牌和下面给出的代码:

_, err = git.PlainClone(projectRoot, false, &git.CloneOptions{
Auth:     &gitHttp.TokenAuth{Token: <oauth-token>},
URL:      e.Repo,
Progress: os.Stdout,
})

这给了我类似的东西:

unexpected client error: unexpected requesting "https://github.com/.../info/refs?service=git-upload-pack" status code: 400

我用这些特殊的模块
git "github.com/go-git/go-git/v5"
gitHttp "github.com/go-git/go-git/v5/plumbing/transport/http"
_, err = git.PlainClone(projectRoot, false, &git.CloneOptions{
Auth:     &gitHttp.BasicAuth{Username: <username>, Password: <oauth-token>},
URL:      e.Repo,
Progress: os.Stdout,
})

最新更新