refusing to allow an OAuth App to create or update workflow {0}
without workflow
scope.
GitHub 推送失败?试试本文方法。
问题
试图向 GitHub 推送一个分支的时候,出现错误 refusing to allow an OAuth App to create or update workflow
{0} without
workflow scope
。
这个错误是说,因为 OAuth 的应用没有指定 workflow 范围,所以无法推送带有更新 workflow 的分支。
虽然我实际上没有对 workflow 做任何更新,但也被拒绝了。所以这个问题必须直接解决,绕不开。
1
2
3
4
5
6
7
8
9
10
11
git.exe push self master:t/walterlv/trigger
Enumerating objects: 17, done.
Counting objects: 100% (17/17), done.
Delta compression using up to 8 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 754 bytes | 754.00 KiB/s, done.
Total 9 (delta 8), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (8/8), completed with 8 local objects.
To https://github.com/dotnet-campus/HandyControl.git
! [remote rejected] master -> t/walterlv/trigger (refusing to allow an OAuth App to create or update workflow `.github/workflows/build.yml` without `workflow` scope)
error: failed to push some refs to 'https://github.com/dotnet-campus/HandyControl.git'
解决
去 GitHub Personal Access Tokens 页面:
生成一个新的 Token。特别注意在生成的时候要勾选 workflow
(如果不确定勾选哪些的话,就全部勾选):
然后复制新的 Token:
打开凭据管理器:
在 Windows 凭据标签下,找到 GitHub 的几个凭据,然后编辑:
- git:https://github.com
- git:https://[email protected]
把密码改成刚刚复制的那个 Token,然后保存:
如果你那里有很多 GitHub 相关的凭据而不确定是哪一个的话,可以考虑全部删掉。这样下次推送的时候就会要求你输入账号密码,输入那个 Token 作为密码即可。
现在,你就能推送成功了。
本文会经常更新,请阅读原文: https://blog.walterlv.com/post/github-push-failed-without-workflow-scope.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 ([email protected]) 。