Ara*_*ian 75 git github github-actions
得到
拒绝允许 OAuth 应用程序在
.github/workflows/cd.yml
没有workflow
范围的情况下创建或更新工作流”
上git push
。如何授予workflow
范围?
Emm*_*ows 97
在尝试使用 IntelliJ 推送到包含 GitHub 操作工作流(.github/workflows 中的 yaml 文件)的分支时,我确实遇到了这个问题。我没有发现 Internet 上的现有资源很有帮助,所以我希望这也能帮助您修复它。
TL;DR:生成一个新的个人访问令牌,并workflow
在 GitHub 中启用范围并配置您的应用程序以使用它。
背景:与 GitHub 集成的第三方工具(如 IntelliJ、Visual Studio Code、Github Desktop 等)使用令牌连接到您的 GitHub 帐户,以便他们可以代表您拉/推等。在 IntelliJ 的情况下,他们的说明只说包括repo
、gist
和read:org
范围。但是您需要workflow
修改 GitHub 操作的范围。
以下是修复方法:
workflow
已打勾。注意:如果您的应用程序自动刷新其权限,您可以跳过第 5 步,但这似乎对我使用 IntelliJ 不起作用。
在 IntelliJ 中,最后一步是转到Settings > Version Control > GitHub,然后删除现有集成并重新添加它,粘贴新令牌。您必须了解需要为您使用的工具做什么才能为其提供新的 GitHub 个人访问令牌。
小智 32
对于 Windows 10:转到设置 -> 凭据管理器 -> Windows 凭据 -> 删除 github.com 凭据 -> 从 git-bash 控制台 git pull/push 你的 github 项目 -> 在你的 IDE/源代码控制中重新连接 GitHub 帐户。您不需要使用“工作流程”创建个人访问令牌,您不需要创建秘密 GITHUB_TOKEN(它创建自动,不能手动创建)
Pha*_*hai 19
这个问题的发生也仅仅是因为您当前的令牌不允许在 Github 上使用工作流。执行以下步骤修复
对于在 MacOS 上使用 Android Studio 的人:
记得点击“确定”按钮。
点击 generate 按钮获取一个新的 token 并在步骤 3 中将其粘贴到 Android Studio 中。现在一切都设置好了。
Ron*_*n C 19
我提供了很多屏幕截图,因为这比本来应该更难解决。
事后看来,@CSRedRat 所说的是正确的,但当我遇到问题时,我无法理解,因为答案是如此简洁。
最终导致我找到解决方案的是这篇文章,它使情况更加清晰。
事情是这样的。虽然您可以使用 GitHub 开发人员设置菜单生成新令牌,然后将其粘贴到 Windows 凭据管理器中来解决此问题,但您不应该这样做,因为该令牌最终会过期,然后您将再次遇到此问题,因为没有任何东西可以解决此问题。知道如何刷新令牌,因为您手动设置了它。
相反,这个令牌权限问题需要通过 Windows 版 Git 来修复。因此,解决方案是 Windows 的“旧”Git Credential Manager 不需要权限来创建或更新工作流程,但现在您需要它们。好消息是我们有一个名为 Git Credential Manager Core的新版本,它确实需要这些权限以及更多权限。
新的凭证管理器随 Git 2.28 及更高版本一起提供,但默认情况下未启用。如果您已经安装了此版本或更高版本的 Git for Window,那么您甚至已经拥有该软件。就我而言,我的版本是 2.30.2,所以我已经有了新软件。
但它仍然使用我的旧 Git for Windows 凭据,该凭据不包含所需的权限。这可能也是您的情况,或者如果您没有 2.28 之前的版本,那么您需要首先安装较新的版本。无论哪种方式,一旦您的计算机上安装了足够新的适用于 Windows 的 Git 版本,下一步就是通过在 Windows 搜索框中键入“Windows 凭据管理器”来删除旧凭据。
然后找到每个 git 凭据,单击它并单击删除按钮。
现在,下次您尝试从git bash
Visual Studio 或您使用的任何 git 客户端访问您的获取帐户时,系统将提示您输入新凭据,因为旧凭据已消失。单击Sign in with your browser
下面对话框中的按钮:
然后您将看到如下所示的网页,如果您展开工作流程下拉列表,您将看到它正在询问您这次所需的权限。然后单击Authorize
按钮。
完成此操作后,您将看到类似这样的页面,用于提供您的 github 密码:
现在,您的 Windows 凭据管理器中拥有了一个新凭据,其中包含您所需的权限,并且过去失败的操作现在将成功。是的!
Die*_*ego 13
我很惊讶 Mac 用户没有答案。我正在从 Atom 文本编辑器推送我的工作流文件,这对我有用。
github.com
的Internet password
种类(如大苏尔的),这是预先用看似随意的令牌。用步骤 1 中生成的以 开头的令牌替换密码条目ghp_
。小智 12
使用github cli配置本地环境时会出现此错误。目前尚不清楚更新权限需要什么。不过,对于 CLI,您可以运行以下命令来启用它,然后继续。
gh auth login --scopes workflow
eir*_*vaa 11
就我而言,我在 macOS 钥匙串中有陈旧的 GitHub 凭据。我正在修改工作流文件并从命令行推送更改,因此我根本没有考虑检查钥匙串。在从MacOS的钥匙扣更新凭据讲解了如何使用git credential-osxkeychain
擦除钥匙扣:
$ git credential-osxkeychain erase
host=github.com
protocol=https
> [Press Return]
Run Code Online (Sandbox Code Playgroud)
然后我不得不再次输入我的用户名和密码。这次我生成了一个新的个人访问令牌并使用该令牌作为密码。然后我终于可以推动工作流程的变化。
通过使用Desktop Github App
推送我的更改来修复此问题(它似乎具有完全权限,而 vs 代码的范围有限)。
在通过修改后的工作流程文件进行一次提交后,我能够在vs code
.