我有几个使用 git 的项目,我想在网络出现故障时提供远程备份。我知道如何创建一个裸 git 存储库并推送到它,但我如何加密内容以便除了我们之外没有人可以看到源代码?我在想安装远程服务器是最简单的吗?也许不是。
答案1
类似这样的事情最好的解决方法可能是备份 git 仓库,通过 PGP 或其他加密方式运行存档,然后将生成的文件发送到其他地方,而不是试图想出一种方法让 git 以一种除了你之外没人能读取的方式加密磁盘上的所有文件。
你可以看看这个 Stack Overflow 问题但我不确定给出的说明是否只适用于“备份”存储库(看起来你在任何地方推拉的任何东西都会被弄脏/清理)。关于弄脏和清理的文档是这里...根据文档判断,使用 smudge 和 clean 进行加密不会获得“最佳结果”。 SO 问题上有很好的评论,并附有更多讨论的链接:请查看Linus Torvalds 的想法关于这个问题(阅读整个帖子,他们已经想到了 smudge 和 clean 无法处理的事情,例如加密文件名本身和提交日志消息)。您还可以查看此主题这确实提出了“使用 FUSE 将文件作为加密文件系统挂载到远程服务器上”的想法。