gitlab - 使用access_token推送到存储库

Sim*_*aud 10 git push oauth token gitlab

我实现了oauth2 web流程,以便从我的app的用户那里获取access_token.通过access_token,我想执行以下操作:

  • 1.获取用户信息
  • 2.为该用户创建一个仓库
  • 3.将代码推送到此仓库(使用git push)

我已经成功获取用户信息(1)并创建了一个仓库(2)

问题是我无法推送代码(3),我收到"未经授权"的错误.


我运行的命令:

git remote add origin https://gitlab-ci-token:<mytoken>@gitlab.com/myuser/myrepo.git
git push origin master
最好的祝福.

Aki*_*kif 24

也可以直接推送而不添加新的远程存储库:

git push https://gitlab-ci-token:<access_token>@gitlab.com/myuser/myrepo.git <branch_name>
Run Code Online (Sandbox Code Playgroud)

如果您想拉和推到不同的存储库,这可能特别方便。


Dav*_*her 12

你应该做

git remote add origin https://oauth2:<mytoken>@gitlab.com/myuser/myrepo.git
Run Code Online (Sandbox Code Playgroud)

  • 如果 gitlab 说 `git remote add origin git@gitlab.bigcorp.dev:foo/bar/myrepo.git` 你应该这样做(注意错过 `:` ): `git remote add origin "https://oauth2:XXXXXXXXX@gitlab .bigcorp.dev/foo/bar/myrepo.git"` (4认同)

vin*_*zee 11

您也可以使用git remote set-url. 创建访问令牌后,执行以下操作:

git remote set-url origin https://gitlab-ci-token:${ACCESS_TOKEN}@gitlab.com/<group>/<repo-name>.git
Run Code Online (Sandbox Code Playgroud)