是否有可能硬链接本地git子模块存储库?

时间:2013-02-22 09:43:14

标签: git git-submodules

我们目前有一个相当大的git存储库和子模块(大约10GB),从服务器克隆它需要相当长的时间。我想在我们的项目目录中保留一个本地副本,并将其用作构建的原点。项目目录存储在NFS挂载的驱动器上。

当使用--local或just / path / to / repo克隆时,Git会创建到原始存储库的硬链接,但它似乎没有为子模块存储库创建硬链接。我原以为

git clone --local --recursive /path/to/origin mycopy

为所有回购创建硬链接。我可以告诉git也为子模块使用硬链接吗?

1 个答案:

答案 0 :(得分:0)

我不认为这可以使用buildin命令完成,但您可以在.gitmodules(或等效的)命令之前修改git submodule init文件并稍后恢复原始文件:

git clone --local /path/to/origin mycopy
sed -i '/path = /{h;s,.* = ,,;x};/url = /{s, = .*, = /path/to/origin,;G;s,\n,,}' mycopy/.gitmodules
git -C mycopy submodule update --init
git -C mycopy checkout -- .gitmodules