Azure 管道不允许 git 推送,需要抛出“GenericContribute”权限

问题描述 投票:0回答:4

我正在尝试使用

cmd
组件推送在 Azure 管道期间完成的一些更改,如下所示,

steps:
- script: |
   git config user.email [email protected]
   git config user.name "your name"
   git diff
   git  add .
   git commit -m "version update [skip ci]"
   git push origin HEAD:master

但未能显示以下错误。

远程:0000000000aaTF41027:您需要 Git 'GenericContribute' 执行此操作的权限。详情:身份 'Build\sdfdfjjkk',范围'存储库'

我已经设置了必要的权限,如下:

enter image description here

并且

Allow scripts to access the OAuth token
也已启用,如此处

所述

我还需要哪些其他权限才能使其正常工作?

git azure-devops azure-pipelines azure-pipelines-build-task
4个回答
122
投票

如果您在构建中遇到以下错误:

您需要 Git“GenericContribute”权限才能执行此操作。详细信息:身份'Build be59e48-a479-XXXX-a453-XXXXXXXXXXXX',范围'存储库'。)

...然后,修复它:

  1. 重要提示:从错误消息中复制身份名称的
    7be59e48-a479-XXXX-a453-XXXXXXXXXXXX
    guid 部分
  2. 转到存储库设置
  3. 将 GUID 粘贴到用户或组的权限搜索框中。 List item
  4. 然后将显示“项目集合构建服务(组织名称)”。选择该用户
  5. 按照其他答案中所述设置权限。

68
投票

您需要授予项目集合构建服务(账户名)权限

enter image description here


38
投票

应该是你的账号没有该仓库的contribute权限造成的。

前往项目设置 --> Repositories --> 点击您要操作的Repos --> 相应设置仓库权限。

enter image description here


0
投票

即使你有权限但仍然无法推送代码。请按照以下步骤操作。

  • 请检查您是否在 git 中配置了有效的 用户密码。如果没有请按照以下步骤操作。

  • 转到存储库并创建一个人员访问令牌,您将使用该令牌作为密码来提交代码并将其与您的用户名一起推送到存储库。

因此,在进行克隆时配置 URL 的最佳方法。

GitLab 示例:

GitLab URL for clone: 

https://gitlab.com/myrepo/demoProject.git

GitLab configured URL for clone:

https://username:[email protected]/myrepo/demoProject.git. // Follow this approach to clone

Azure 示例:

Azure URL for clone: 

https://[email protected]/MY-ORG/MyRepo/_git/demo

Azure configured URL for clone:

https://username:[email protected]/MY-ORG/MyRepo/_git/demo // Follow this approach to clone

一旦您能够克隆这些存储库,那么您就可以提交并推送您的代码了。

仅此而已。它会拯救你的一天!!

© www.soinside.com 2019 - 2024. All rights reserved.