我最近尝试了 JGit 的 S3 远程提供程序,它非常有用。
编辑:有关传输整个 repo 协议(protocol)的声明已删除,请参阅评论。但是,这不会改变我在这里提出的主要问题。
所以现在我正在考虑有效地使用它,这让我想到了以下问题:
您是否使用托管在 S3 上的 Git 存储库(不仅用于备份,还用于协作)?
是否可以加密存储库?我知道 JGit 的默认 DES 加密,但我不想依赖古老的加密算法。
这种解决方案的优缺点是什么?
感谢您的意见!
最佳答案
所以这个想法是将您的 S3 存储桶作为驱动器安装在您的本地系统上。
如果您更喜欢 UI 方式,我会推荐 Panic INC 的 Transmit application。 http://panic.com/transmit/ (2012 年 1 月当时为 34 美元)
您可以在这里阅读更多相关信息: http://www.40tech.com/2011/05/02/how-to-mount-inexpensive-amazon-s3-storage-as-a-local-drive-using-transmit-mac/
console方式(mac和linux都兼容)看一下:
- http://code.google.com/p/macfuse/ (雪豹)
- http://osxfuse.github.com/ (狮子)
- http://code.google.com/p/s3fs/ (*尼克斯)
下一步: 进入您安装的 s3 存储桶:
cd /mnt/yourS3bucket
和初始化存储库:
mkdir myRepository && cd myRepository
git init
以下是对您问题的回答:
Do you use a Git repository hosted on S3 (not just for backup, but
for collaboration)?
1) 我们第一次那样使用它,但后来我们将它移到正在运行的 EC2 中的 EBS block 中,自动备份到 S3 和自动恢复(如果 EC2 或 EBS 崩溃或两者都崩溃)。它只是快得多。
Is it possible to encrypt the repository? I know about the default DES encryption of JGit, but I'd rather not rely on ancient encryption algorithms.
2) 如果您只想加密整个存储库,请考虑加密文件系统容器。在这里,您可以根据您使用的操作系统自由选择。同样,您将以这种方式处理生产力:http://www.askdavetaylor.com/password_protect_encrypt_mac_os_x_folder.html 无论如何,对于这种方式,它将只是单一加密,因此您的所有用户都需要知道它。 另一种解决方案是 SSH,基于对 EC2 实例的访问,具有独立的用户权限。 也不要忘记在不同情况下为您的 S3 存储桶设置单独的 IAM 帐户。因此,您始终可以重新登录并检测用户的更改。
What are the pros and cons of such a solution?
3) 因此,简而言之:这是个好主意,但我宁愿建议通过 SSH 构建它并使用 S3 作为单文件备份解决方案,而不是多文件存储库备份方式。
最好的, 尤金
关于S3 上的 Git 存储库(作为 "origin",而不是备份),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8744611/