如何授权workflow
范围,以允许OAuth应用程序在git push
时创建或更新工作流.github/workflows/cd.yml
,而不是拒绝它。
如何授权workflow
范围,以允许OAuth应用程序在git push
时创建或更新工作流.github/workflows/cd.yml
,而不是拒绝它。
当我尝试使用IntelliJ推送到包含GitHub Action工作流程(YAML
文件在 .github/workflows 中)的分支时,我刚刚遇到了这个问题。我没有在互联网上找到有用的现有资源,所以我希望这也能帮助您解决它。
简而言之:在GitHub中使用具有workflow
范围的个人访问令牌更新或创建一个新的,并配置应用程序使用该令牌。
背景:具有GitHub集成的第三方工具,如IntelliJ、Visual Studio Code、Github Desktop等,使用令牌连接到您的GitHub帐户,以便可以代表您拉取/推送等。在IntelliJ的情况下,他们的说明只说要包括repo
、gist
和read:org
范围。但是,您需要workflow
范围来修改GitHub Actions。
以下是修复方法:
workflow
范围:
workflow
范围并保存。workflow
。workflow
加入其中以更改其范围。这正是我刚刚为解决问题所做的。 - gonadarianworkflow
添加到其中是解决此问题最无缝和最简单的方法。非常感谢您分享! - Clever Programmergithub.com
的条目(如下所示),属于Internet password
类型,之前填充了一个看似随机的令牌。用步骤1生成的令牌(以ghp_
开头的令牌)替换密码条目。
对于Windows 10:转到 设置 -> 凭据管理器 -> Windows凭据 -> 删除github.com凭据 -> 从git-bash控制台中执行git pull/push您的GitHub项目 -> 在IDE/源代码控制中重新连接GitHub帐户。
你不需要使用“workflow”创建个人访问令牌,也不需要创建秘密GITHUB_TOKEN(它会自动创建且不能手动创建)。
但它仍在使用我旧的Git for Windows凭据,这些凭据没有所需的特权。你的情况可能也是如此,或者如果你没有2.28版本以下的旧版本,则需要先安装新版本。无论哪种方式,一旦你的计算机上有足够新的Git for Windows版本,下一步就是通过在Windows搜索框中键入“Windows凭据管理器”来删除旧凭证。
然后找到每个git凭证,点击它,并点击删除按钮。 现在,下次您尝试从git bash
、Visual Studio或任何您使用的git客户端访问您的get账户时,您将被提示输入新凭据,因为旧凭据已失效。请点击下面对话框中的使用浏览器登录
按钮:
接下来你会看到一个类似下面这张网页的页面,如果你展开工作流下拉菜单,你会发现它正在询问你这次需要的权限。然后点击授权
按钮。
git credential-osxkeychain
来清除钥匙串:$ git credential-osxkeychain erase
host=github.com
protocol=https
> [Press Return]
然后我不得不再次输入用户名和密码。这一次我生成了一个新的个人访问令牌,并使用该令牌作为密码。之后,我终于可以推送工作流程更改。
gh auth login --scopes workflow
通过使用 桌面版Github应用程序
推送更改(它似乎具有完全权限,而不是vs code的有限范围),我解决了这个问题。
在成功推送修改后的工作流文件的一个提交之后,我能够再次正常地使用vs code
进行推送提交。
在将我第一次提交的 nbdev 项目推送后,我遇到了同样的问题。以下是解决方法:
.github/workflows
下的所有 .yaml
文件git add .
,git commit -m "CommitMessage"
和 git push
.yaml
文件(在 Actions 选项卡下,然后选择 New workflow)git pull
然后您可以继续在本地仓库上工作,并且应该能够将更改推送到 Github,而不会出现任何错误消息。