在git submodule add
的git submodule文档中,它显示有一个--reference
参数。据推测,这与git clone
的--reference
参数的工作方式相同,只是从其中复制对象,而不是复制远程存储库。使用此参数执行后,如果我查看.git/modules/<submodule>/objects/info
内部,会发现有一个alternates
文件,其中包含指向引用存储库的路径。
但是,git clone
还有一个--dissociate
参数,它实际上只对初始克隆执行此操作。对于子模块存储库,有没有同样的方法?
发布于 2017-11-11 19:42:58
显然,要做到这一点,唯一的方法是在用--reference
克隆子模块目录之后,在子模块目录中运行git repack -a -d
。
我猜未来的Git版本可能会在git submodule {add,update}
本身中添加对--dissociate
的直接支持,但在最新的2.15版本中还不存在。
https://stackoverflow.com/questions/43256688
复制相似问题