常见的加密git仓库有两种方案: 一种是git-crypt,类似于gitignore的工作原理,采用gpg加密来加密部分文件,加密信息存储在类似于`gitignore`的文件`.gitattributes`中,再提交时自动加密,拉取时自动解密,存储端利用现有存储,无需额外加密。 要加密整个存储库,请考虑使用类似git-remote-gcrypt的系统。 一种是git-secret,工作原理要复杂一些,同样基于gpg采用公钥加密方案。加密文件存储在`.gitsecret/`中 前者可以兼容现有方案,即使项目组成员无对应密钥也能提交拉取。后者则需要手动维护成员权限。前者适用于维护代码中的测试库等部分敏感信息,后者更适合维护类似terraform这样的代码即设施的包含大部分敏感信息库。 更新:2024-08 第三种是transcrypt transcrypt 与git-crypt和git-encrypt等现有项目具有相同的风格,它们遵循 Git 关于使用 clean/smudge 过滤器进行加密的文档。与其他项目相比,transcrypt 在可用性和安全性方面做出了实质性的改进。 #引用: - http://git-secret.io/ - https://www.agwa.name/projects/git-crypt/ - https://github.com/elasticdog/transcrypt
没有评论