Git-存档旧提交

bea*_*mit 7 git

我想使用Git跟踪大型工作目录(许多演出)的微观变化(每天几次).数据将是混合二进制/纯文本.二进制数据的变化几乎不会与文本信息一样多.很少需要访问旧提交,并且可能很慢,而最近的历史需要很快.

我不想永久丢失旧数据,只需将其移动到备份服务器或其他东西.Git中是否存在允许将旧历史存档并仅在本地存储库中保留某个子集的内容?

如果没有,是否有更适合此目的的工具?我喜欢Git,因为我知道它,我想要版本控制和差异.我不需要Git的任何高级功能(如分支/合并,不分发),所以任何其他类似的VCS都会很好.

Chr*_*her 4

如果您要使用 进行修补git format-patch,请使用 创建一个浅克隆并git clone --depth <depth>继续。但很可能您不是,在这种情况下您可能会发现这个答案并且这个答案很有用。第二个结论是,这git checkout --orphan也许是获得你想要的东西的最佳方式。当然,您仍然需要在本地克隆一次完整的历史记录以创建一个较小的分支。

如果您喜欢冒险,非常想要这个,并且愿意忍受更复杂的推送过程,那么创建补丁并将git format-patch其应用到另一个存储库git am既不难执行,也不难编写脚本。它会为您的推送过程添加一个额外的层 - 例如,在浅层存储库上创建补丁,以编程方式应用于完整的存储库,该存储库可以是本地的,也可以是其他地方的,从后者推送。花费时间和麻烦可能不值得,但这确实是可能的。