如何`--reference`现有结账中的本地git存储库

时间:2013-11-12 09:43:32

标签: git

当使用git clone从远程存储库进行克隆时,我可以给git一个提示,--reference有一个类似的本地存储库,其中可以找到并共享一些对象。这样可以节省网络带宽和存储成本。

但是,如果我已经有两个存储库ab,它们都是从远程克隆的。如何才能在后见之明中实现这一效果,以便a表现得好像是用--reference=b克隆的?

(这不会节省带宽,但会释放一些磁盘空间。)

1 个答案:

答案 0 :(得分:0)

仅使用git-command,我会

  1. b本地克隆到c(如果可能,重复使用带有硬链接的常见对象)。

  2. c中,添加a作为远程仓库,并从a中获取差异。在c

  3. 中创建所需的分支和远程
  4. a替换为c

  5. 关于常见对象(rsync --hard-linkcp -l)和git-gc应该可以进行类似的操作。我不是一个完整的解决方案。