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

问题描述 投票:2回答:1

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

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

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

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

git git-submodules
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.