我有一个DevOps管道,其任务是更新文件,并将其提交回Github中的受保护分支。从仓库中签出就可以了。我以为我有正确的权限设置,但没有用。
我已在此处允许azure-pipelines的权限:
我已指定以下内容,以保留原始签出的身份验证:
steps:
- checkout: self
persistCredentials: true
- task: Bash@3
inputs:
targetType: inline
script: |
git checkout integration
然后,在进行更改后,我想像这样将其推回到集成分支:
- task: Bash@3
inputs:
targetType: inline
script: |
cd ./Test/Test.UWP
git config --global user.email "test@test.com"
git status
cd ../..
git add .
git commit -m "Release $(versionNumber)"
git push origin integration
这将返回以下输出,但不会将其推回到integration
分支:
remote: error: GH006: Protected branch update failed for refs/heads/integration.
remote: error: At least 1 approving review is required by reviewers with write access.
To https://github.com/test/test-app
! [remote rejected] integration -> integration (protected branch hook declined)
error: failed to push some refs to 'https://github.com/test/test-app'
答案 0 :(得分:0)
解决方案是创建另一个帐户,并通过管理员权限从中生成PAT。
然后,我将应用程序克隆到代理的单独目录中。修改了我需要的内容,并能够使用git bash创建标签和所有内容。
答案 1 :(得分:-1)
在这种情况下,您可以检查解决方案:Cannot push on github suddently
您可以向管理员授予访问Azure管道的权限,也可以转到“设置”->“分支”以打勾Allow force pushes (Permit force pushes for all users with push access)
进行强制推送。