使用访问令牌推送到 github 的最小范围集

Fab*_*ian 6 git push github

我有一个公共 github 存储库(我几年前创建的)。我启用了两因素身份验证。我想创建一个 github API 令牌,以便能够将一些更改推送到我的存储库。

我必须在 github“新个人访问令牌”页面中选择的最小范围集是什么才能将更改推送到此存储库?

我想避免赋予令牌任何不必要的权利。

pet*_*ich 9

扩展 Yogev 的答案,您可以执行以下操作来创建一个细粒度的个人访问令牌(又名 \xc2\xabPAT\xc2\xbb),并具有向存储库提交更改所需的最低权限

\n
    \n
  • 通过以下步骤创建细粒度的 PAT 。
  • \n
  • Repository Access选择下Only select repositories,选择您想要使用的存储库(经过身份验证的拉取、提交、推送等)
  • \n
  • Permissions在选择下Repository permissions并仅设置ContentsAccess level-> Read and write
  • \n
\n

然后将带有上下文的 PAT 添加secrets到您的 GitHub 工作流程/操作中,例如:

\n
runs-on: ubuntu-latest\nsteps:\n  - uses: actions/checkout@v3\n    with:\n      token: ${{ secrets.NAME_OF_YOUR_PAT }} \n
Run Code Online (Sandbox Code Playgroud)\n

更多文档也在这里

\n

注意:细粒度个人访问令牌仍处于测试阶段(截至 2023 年初),可能会发生变化。讨论在这里

\n

  • 谢谢!权限列表太长,“内容”太模糊,因为这是 99% 的人想要使用它的目的。 (3认同)
  • 这次真是万分感谢。我试图做最基本的推/拉,这绝对埋在 github 文档中 (2认同)

bk2*_*204 7

根据GitHub 文档,公共存储库的范围是public_repo,私有存储库的范围是repo

具有这些范围之一的令牌是 Git 推送或拉取访问可能的最有限访问权限;但是,该令牌可以访问所有公共(分别为私有)存储库,也可以用于某些 API 访问。如果您对此感到担忧,您可以为您的个人帐户使用 SSH 密钥,或者进一步限制它,为相关存储库使用读写部署密钥。