使用git存储库进行增量备份的最简单方法是什么git bundle?
如果我只想备份一个分支,我可以沿着这些方向做一些事情:
git bundle create foo last-backup..master
git tag -f last-backup master
Run Code Online (Sandbox Code Playgroud)
但是如果我想备份所有内容(包括所有分支)呢?
要回答评论中的问题:
严格地说,只要解决方案满足以下属性,我就不需要使用通常的Git包:
每个增量备份都是一个文件.我可以将它存储在某个地方,后续的增量备份不需要修改此文件.
文件大小约等于自上次备份以来Git提交的总大小.二进制文件的更改也可以有效地存储.
从那时起,完整备份+所有增量备份包含自动重建存储库所需的所有内容,包括所有分支.
(作为一个简单的例子,简单地在git存储库中构建一个包含最近更改过的文件的tar存档,如果发生自动垃圾收集,则无法满足第二个要求.)
理想情况下,我还希望有一个防止白痴的系统:
如果我只需要处理一个分支,Git捆绑包就能很好地满足这一切.