S3 上的 Git 存储库(作为 "origin",而不是备份)

标签 git amazon-s3 jgit

我最近尝试了 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都兼容)看一下:

下一步: 进入您安装的 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/

相关文章:

Github:在两个标签之间列出 PR

amazon-s3 - 创建具有特定前缀的对象时触发 lambda

amazon-web-services - 从命令行将 gzip 压缩内容上传到 AWS S3。

maven - jgitflow :release-finish is not deleting the release branch

eclipse - 在 Eclipse git 中使用 native git 而不是 jgit?

windows - 从源代码安装 Git、从源代码安装 Post-Git,然后在 PowerShell 中加载 Posh 的步骤?

git - 如何在 Git 中查看文件历史记录?

linux - 用个人访问 token 推送到git

amazon-web-services - 将 Minio 备份到 S3

git - 使用 JGit 访问存储库中的修改文件