# #git #go #oauth-2.0
Вопрос:
Я клонирую публичный gitrepo с заданным кодом golang: (который отлично работает)
_, err = git.PlainClone(projectRoot, false, amp;git.CloneOptions{
URL: e.Repo,
Progress: os.Stdout,
})
Для частного репозитория git я генерирую токен OAuth и код, приведенный ниже:
_, err = git.PlainClone(projectRoot, false, amp;git.CloneOptions{
Auth: amp;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"
Ответ №1:
_, err = git.PlainClone(projectRoot, false, amp;git.CloneOptions{
Auth: amp;gitHttp.BasicAuth{Username: <username>, Password: <oauth-token>},
URL: e.Repo,
Progress: os.Stdout,
})