当使用git clone
从远程存储库进行克隆时,我可以给git一个提示,--reference
有一个类似的本地存储库,其中可以找到并共享一些对象。这样可以节省网络带宽和存储成本。
但是,如果我已经有两个存储库a
和b
,它们都是从远程克隆的。如何才能在后见之明中实现这一效果,以便a
表现得好像是用--reference=b
克隆的?
(这不会节省带宽,但会释放一些磁盘空间。)
答案 0 :(得分:0)
仅使用git-command
,我会
将b
本地克隆到c
(如果可能,重复使用带有硬链接的常见对象)。
在c
中,添加a
作为远程仓库,并从a
中获取差异。在c
。
将a
替换为c
。
关于常见对象(rsync --hard-link
或cp -l
)和git-gc
应该可以进行类似的操作。我不是一个完整的解决方案。