git submodule" - reference"参数

时间:2017-04-06 13:30:21

标签: git git-submodules

git submodule add的{​​{3}}文档中,它显示存在--reference参数。据推测,这与--reference的{​​{1}}参数的工作方式相同,方法是从中复制对象,而不是远程存储库。使用此参数执行后,如果我查看git clone内部,则会有一个.git/modules/<submodule>/objects/info文件,其中包含引用存储库的路径。

但是,alternates也有一个git submodule参数,基本上只对初始克隆执行此操作。对于子模块存储库,是否存在相同的方法?

2 个答案:

答案 0 :(得分:0)

显然,执行此操作的唯一方法是在使用git repack -a -d克隆子模块目录后运行--reference

我想未来的Git版本可能会为--dissociate本身添加对git submodule {add,update}的直接支持,但它在最新版本(2.15)中尚不存在。

答案 1 :(得分:0)

git submodule update”和“git submodule add”支持从“--reference”这样的邻近本地存储库中借用对象的“git clone”选项,但缺少更多最近的发明“--dissociate”。

Git 2.18(2018年第二季度)不再是这种情况

  

子模块:添加--dissociate选项以添加/更新命令

     

添加--dissociate选项以添加和更新命令,这两个命令已经与--reference选项--dissociate成对的克隆辅助命令。

The documentation现在添加:

--dissociate::
     

此选项仅对addupdate命令有效   这些命令有时需要克隆远程存储库。在这种情况下,此选项将传递给git clone命令。