我使用git-crypt分叉了一个 repo,我需要更新 git-crypt 密钥,以便上游 git-crypt 密钥无法解密新的 repo。
该git-crypt help文档和README似乎没有解释如何改变一个git-加密密钥。
我尝试了各种擦除 git-crypt 配置并重新初始化的方法。不幸的是,所有这样做的尝试似乎都破坏了各种事情,例如 git diff 显示诸如smudge filter git-crypt failed. 其中一些行为记录在在已初始化的存储库上运行git-crypt init会使数据不可读。https://github.com/AGWA/git-crypt/issues/47评论中的任何建议都无法防止 git diff 致命错误。(我对 git diff 显示未加密的二进制文件历史记录的无用输出感到满意,但在某些提交中给出致命错误是不行的,即使是未加密的文件也无法进行差异git diff。)
这似乎是 git-crypt 的一个主要要求,所以我不敢相信这不受支持,例如,如果您因为有人离开公司而需要轮换 git-crypt 密钥。
小智 6
通过一些工作,您可以旋转中央密钥(不是 gpg,我不知道)
请注意,协作者需要在拉取新更改之前执行“git-crypt lock”,以便丢弃旧密钥并仅在纯 git 模式下处理文本文件(尽管机密仍然加密)。
更新后,只需使用新密钥 git-crypt 解锁。
正如https://github.com/AGWA/git-crypt/issues/61中明确指出的,git-crypt 不支持旋转 git-crypt 密钥。
我最终重写了 git 历史记录以删除旧 git-crypt 密钥的所有先前历史记录(我从 git 历史记录中完全删除了加密文件),然后创建了一个新密钥并签入了加密文件。这既耗时又痛苦。
此限制记录在https://github.com/AGWA/git-crypt/#limitations。如果您需要轮换密钥,您可能需要考虑不使用 git-crypt。
| 归档时间: |
|
| 查看次数: |
3739 次 |
| 最近记录: |