访问 GitHub 秘钥

如何解决访问 GitHub 秘钥

我不知道如何处理密钥。

我在 GitHub 上发布了一个带有密钥的存储库(我现在知道了,大不行),然后在设置中发现了 GitHub 密钥并将密钥存储在那里。

那么,两个问题:

  • 清除提交历史以便密钥不再可用的最佳方法是什么?
  • 我实际上如何访问此密钥?在我的 settings.py 中,我现在有 use vCard::AddressBook; my $address_book = vCard::AddressBook->new(); my $vcard = $address_book->add_vcard; $vcard->given_names(['John']); $vcard->family_names(['Doe']); $vcard->categories(['Cat_01']); ## DOES NOT WORK my $file = $address_book->as_file('file.vcf'); ,但会抛出 Can't locate object method "categories" via package "vCard" at tmp2.pl line 6.

感谢任何帮助,谢谢。

更新

好的,所以根据@VonC 提供的链接,我需要在 SECRET_KEY = 'name_of_key_on_github' 目录中创建一个 .yml 文件

general.yml

NameError: not defined

settings.py

.github/workflows

项目结构如果你想/需要复制:

name: key #needed but name can be arbitrary

on: [push,pull_request,deployment]

env:
    runs-on: ubuntu-latest
      - uses: actions/labeler@v2
        with:
          repo-token: ${{ secrets.name_of_my_key }}
      credentials: #these don't work yet,if anyone can tell me why?
        username: ${{ github.actor }}
        password: ${{ secrets.ghcr_token }}

我可以运行 SECRET_KEY = "../.github/general.yml",但在推送到远程时出现以下错误

myrepo
├── app_name
│   ├── settings.py
├── .github
│   ├── workflows
│   │   ├── general.yml

更新 2

未启用工作流范围(github.com > 配置文件 > 设置 > 开发人员设置 > 个人访问令牌):

您需要确保选中复选框。

workflow box needs to be checked

解决方法

使用 new git filter-repo,即 does replace the old git filter-branch or BFG

它具有 many usage examples,包括基于内容的过滤,以便您在过去的提交中远程访问 path/to/secret 文件:

要保留除这些路径之外的所有文件,只需添加 --invert-paths

git filter-repo --path path/to/secret --invert-paths

您可以在实际更改存储库之前添加 --dry-run 以对其进行测试。

然后 git push --force(这确实会重写您存储库的历史记录,因此请务必通知任何其他合作者)

因为它必须在一个新的克隆上完成:

  1. 不要对当前的克隆文件夹进行任何操作
  2. 创建一个单独的存储库克隆,在其中执行过滤器存储库
  3. 在现在清理的第二个克隆中(其历史记录中不再有大文件),从您的第一个存储库导入您的工作

也就是说,对于第 3 点:

cd /path/to/second/clone
git --work-tree=/path/to/first/original/clone add .
git commit -m "Import work from first clone"
git push --force

关于 git gilter-repo,请参阅“Removing sensitive files from git from Boopathi Rajaa”中的完整示例。


您可以存储加密密钥,但可用于 GitHub Actions only

在 GitHub 操作之外,请参阅 Github,secret keys and other local settings 中的 Paul Smits

为此,您需要一个凭据 (PAT) with workflow scope

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?