使用git-bundle传输对多个分支所做的更改

时间:2014-07-28 05:48:32

标签: git git-bundle

我一直在寻找git-bundles作为一个选项来保持我的2个存储库(持续工作)彼此同步。

由于两者都是两个不同的地理位置,并且设置VPN也不是一个选项,我打算使用捆绑包..(任何其他更好的替代方法或方法?)

我偶然发现Jefromi's answer here。它解释得非常好。

但是,如果我有多个分支正在处理,我想更新它们,我该怎么做?

(答案使用master的基础,但使用--branches将再次复制bundle中所有其他分支的完整历史记录。我只想更新/添加所有braches的提交)

1 个答案:

答案 0 :(得分:1)

您可以创建新备份,同时排除上一次备份中的内容:

git fetch ../backup.bundle
git bundle create ../newbackup.bundle ^backup/A ^backup/B A B C

在此创建一个增量备份,其中包含分支AB的增量历史记录,以及新分支C

您可以在" Incremental backups with git bundle, for all branches"

中详细了解该方法

我更喜欢使用date of the last backup的简单方法:

cd myRepo
git bundle create mybundle-inc --since=10.days --all

可以备份"多一点":当您使用该增量备份时,重复的提交不会被导入两次。

我根据--since创建了一个脚本:save_bundles