gitlab - 使用 access_token 推送到存储库
gitlab - Push to a repository using access_token
我实施了 oauth2 网络流程,以便从我的应用程序的用户那里获得 access_token。使用 access_token,我想执行以下操作:
- 获取用户信息
- 为这个用户创建一个 repo
- 将代码推送到此 repo(使用 git push )
我已经成功获取用户信息(1)并创建repo(2)
问题是我无法推送代码 (3),出现 "Unauthorized" 错误。
命令我运行:
git remote add origin https://gitlab-ci-token<mytoken>@gitlab.com/myuser/myrepo.git
git push origin master
你应该做
git remote add origin https://<access-token-name>:<access-token>@gitlab.com/myuser/myrepo.git
请注意,这会将访问令牌作为纯文本存储在 .git\config
文件中。为避免这种情况,您可以使用 git 凭证系统,为“用户名”提供访问令牌名称,为“密码”提供访问令牌。 应该以更安全的方式将凭据存储在git凭据系统中。
Gitlab 目前不支持使用 gitlab-ci-token
推送。有空feature request。
也可以不添加新的远程仓库直接推送:
git push https://gitlab-ci-token:<access_token>@gitlab.com/myuser/myrepo.git <branch_name>
如果您想拉取和推送到不同的存储库,这可能会特别方便。
我实施了 oauth2 网络流程,以便从我的应用程序的用户那里获得 access_token。使用 access_token,我想执行以下操作:
- 获取用户信息
- 为这个用户创建一个 repo
- 将代码推送到此 repo(使用 git push )
我已经成功获取用户信息(1)并创建repo(2)
问题是我无法推送代码 (3),出现 "Unauthorized" 错误。
命令我运行:
git remote add origin https://gitlab-ci-token<mytoken>@gitlab.com/myuser/myrepo.git
git push origin master
你应该做
git remote add origin https://<access-token-name>:<access-token>@gitlab.com/myuser/myrepo.git
请注意,这会将访问令牌作为纯文本存储在 .git\config
文件中。为避免这种情况,您可以使用 git 凭证系统,为“用户名”提供访问令牌名称,为“密码”提供访问令牌。 应该以更安全的方式将凭据存储在git凭据系统中。
Gitlab 目前不支持使用 gitlab-ci-token
推送。有空feature request。
也可以不添加新的远程仓库直接推送:
git push https://gitlab-ci-token:<access_token>@gitlab.com/myuser/myrepo.git <branch_name>
如果您想拉取和推送到不同的存储库,这可能会特别方便。