如何保护包含git历史记录的文件夹

时间:2013-05-14 13:33:21

标签: git backup

我正在使用git跟踪在我自己的PC上编写项目和其他个人工作(运行Ubuntu版本)。

虽然我的工作是受版本控制的,但我担心有一天我可能会丢失整个文件夹(包含其.git文件和工作本身)以发生意外或技术故障。

保护或备份工作的最佳方法是什么? (除了将整个文件夹复制到另一个驱动器之外。)

1 个答案:

答案 0 :(得分:1)

您可以使用Git本身轻松备份您的作品。

我可能会提出三种方法:

  • 定期将存储库备份到笔式驱动器:

    • 将闪存驱动器插入PC;
    • git init --bare上面的存储库;
    • 将其添加为主存储库中的命名远程:

      git remote add --mirror=push pendrive /media/that_drive_id
      

      --mirror=push命令行选项将确保对git push pendrive的简单调用足以推送所有可推送的内容。

    • 使用类似

      的内容备份您的存储库
      git push pendrive
      
    • 卸载驱动器。

    下次您将要备份时,请插入驱动器,然后执行

     git push pendrive
    
  • 另一种选择是使用git-bundle命令,该命令可用于将整个存储库(带历史记录)导出到单个文件,然后可以将其复制到外部存储器。

    这种方法看起来比前者更简单,但其简单性是有代价的:

    • 没有增量备份:虽然git-bundle可用于仅导出历史记录的特定部分,但您必须保留上次在某处备份的内容,这显然不方便且容易出错。
    • 如果存储库变大,每个“捆绑”将创建一个大文件。
  • 除非您的资料非常私密(如密码),否则请从Git提供商处购买私人托管计划并在那里镜像您的资源。

    镜像的设置方式与pendrive方法完全相同,只是Git URL显然会有所不同。

我个人最喜欢pendrive方法。