version-control - 长期源代码归档 : Is it possible?

标签 version-control storage

我很好奇将源代码可靠且安全地保存数年。根据我的研究/经验:

  • 光媒体,例如刻录的 DVD-R,随着时间的推移会丢失一些数据。几年后,我没有把我放在它们上面的所有文件都取下来。读取错误等
  • 硬盘驱动器是机械驱动器,会因昂贵的数据恢复费用而出现故障/过时,几乎无法保护您的数据的私密性(您将其发送给某些公司)。
  • 磁带存储:见#2。
  • 在线存储受制于某些数据存储中心的突发奇想,那里的安全性或不安全性,以及公司倒闭的可能性等。再加上价格昂贵,您不能保证他们不会偷看。

  • 随着时间的推移,我发现由于这些问题,我已经丢失了我完成的旧项目的源代码。还有其他解决方案吗?

    答案摘要:
    1. 使用多种方法进行冗余。
    2. 以文本或条形码的形式打印您的源代码。
    3. RAID 阵列更适合本地存储。
    4. 开源您的项目将使它永远持续下去。
    5. 加密是安全的答案。
    6. 磁带存储经久耐用。
    7. 分布式/有保证的在线存储便宜且可靠。
    8. 使用源代码控制来维护历史,并备份 repo。

    最佳答案

    最好的答案是“在多个地方”。如果我担心尽可能长时间地保留我的源代码,我会这样做:

    1) 定期备份到一些光学媒体,比如每月将其刻录到 DVD 并异地存档。

    2)将其备份到本地机器上的多个硬盘驱动器

    3) 将其备份到亚马逊的 S3 服务。他们有保证,它是一个分布式系统,因此没有单点故障,您可以轻松加密您的数据,这样他们就无法“偷看”它。

    通过这三个步骤,您丢失数据的机会实际上为零。对于非常重要的数据,没有太多备份。

    关于version-control - 长期源代码归档 : Is it possible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73745/

    相关文章:

    linux - Linux 中 NTFS 分区上的 Subversion (svn) 存储库?

    git - Git 使用的 merge 冲突语法有名称吗?

    php - 使用版本控制但仍以正常方式访问文件

    c++ - 常量存储 C++?

    docker - 如何限制容器可用的 Docker 文件系统空间

    windows - Git:在 Windows 中协调两个具有重复名称(大小写不同)的文件夹,同时保留历史记录

    容器的 Kubernetes 临时存储

    kubernetes - rook-ceph-osd-prepare pod 卡了几个小时

    python - 如何使用 python 构造授权 header 以将文件上传到 Azure blob 存储?

    git - 如何在本地和远程删除 Git 分支?