【发布时间】:2015-12-15 07:21:28
【问题描述】:
我有一个项目依赖于其他项目,所以我使用 git 子模块。
但是我的项目只对最新的提交感兴趣,我不希望所有的提交都回到开头。
例如 openssl zip 是 6.6MB,但克隆 repo 是 71.76MB。
我只想要 6.6MB 但具有 git 子模块的优势。
有出路吗?
【问题讨论】:
标签: git git-submodules
我有一个项目依赖于其他项目,所以我使用 git 子模块。
但是我的项目只对最新的提交感兴趣,我不希望所有的提交都回到开头。
例如 openssl zip 是 6.6MB,但克隆 repo 是 71.76MB。
我只想要 6.6MB 但具有 git 子模块的优势。
有出路吗?
【问题讨论】:
标签: git git-submodules
是的,你可以做到。
有--depth 标志可以传递给子模块。--depthflag 的使用方式与克隆存储库时使用它的方式相同,并且您希望仅克隆最新的提交。
将
--depth选项添加到git submodule的添加和更新命令中,然后将其传递给克隆命令。
当子模块很大并且您对最新提交之外的任何内容都不感兴趣时,这很有用。
git submodule add --depth 1 -- <url>
git submodule update --depth -- <url>
完整的文档可以在here找到。
【讨论】: