如何存储废弃项目的 git repos?

如何存储废弃项目的 git repos?

我的工作站上有 200 多个项目,每个项目都是一个 git 存储库。其中大多数已被取代或被遗弃。我仍然保留代码,以防我需要它们中的任何内容。

目前,活跃项目是 中的非裸 git 存储库~/Projects,非活跃项目是.tar.gz仅包含同一文件夹中的整个非裸 git 存储库的档案。所以我得到了以下内容:

  • ~/Projects/some-active/.git
  • ~/Projects/some-inactive.tar.gz

这样做的好处是备份速度非常快,非活动项目只是一个需要检查/复制的文件。每当我想查看项目时,我必须提取文件夹,查看它,然后在我认为项目再次处于非活动状态时对其进行压缩。

有没有更好的方法呢?

答案1

第一个建议:只要将它们与活动存储库保持相同的方式,但要确保所有对象都在一个包文件中(git gc将这样做)。rsync 主要只是检查修改时间;如果其他一切都匹配,它不会读取整个文件;它不应该很慢。(我的备份包括 rsyncing 超过 1M 个文件,其中许多是 Git 存储库,但速度仍然很快……)

第二条建议:保持它们存储库。每当您想要查看文件时,请使用 的tig“树形浏览器”模式,或克隆到 /tmp(例如git clone -s ~/Projects/foo.git /tmp/foo)。这样,每个存储库将只有大约 5 个文件(packfile、pack index、config、packed-refs)。

相关内容