如何在保持深度为 1 的同时在标签中初始化子模块
How to init a submodule in a tag while keeping the depth at 1
对于正常的 git 回购,您可以这样做:
git clone --branch 4.1.1 https://github.com/WordPress/WordPress.git . --depth 1
这将在标签 4.1.1
处提供 WP 存储库
对于一个子模块,我确实得到了下面的信息,但我不知道如何只用一个标签。
git submodule add --depth 1 https://github.com/WordPress/WordPress.git wp
如何在 1 深度 将子模块检出到 1 标签?
我不介意之后再执行几个命令,但如果可能的话,一个命令就更好了。
TLDR:
我想要一个标签处的子模块。哪个.git(/module)文件夹越小越好。
考虑到子模块可能不附带其标签,您可能会想先做(如“Can git submodule update be made to fetch tags in submodules?”中的建议):
git submodule foreach --recursive 'git fetch --tags'
但正如我在“Does “git fetch --tags
” include “git fetch
”?”中解释的那样,那 不会 获取 只是 标签,而且 所有 相关提交(自 git 1.9.0,2014 年 2 月起)
相反,您可以进入子模块,并获取深度为 1 的标签内容:
git fetch --depth=1 origin refs/tags/<tag>:refs/tags/<tag>
git checkout <tag>
对于正常的 git 回购,您可以这样做:
git clone --branch 4.1.1 https://github.com/WordPress/WordPress.git . --depth 1
这将在标签 4.1.1
处提供 WP 存储库对于一个子模块,我确实得到了下面的信息,但我不知道如何只用一个标签。
git submodule add --depth 1 https://github.com/WordPress/WordPress.git wp
如何在 1 深度 将子模块检出到 1 标签?
我不介意之后再执行几个命令,但如果可能的话,一个命令就更好了。
TLDR: 我想要一个标签处的子模块。哪个.git(/module)文件夹越小越好。
考虑到子模块可能不附带其标签,您可能会想先做(如“Can git submodule update be made to fetch tags in submodules?”中的建议):
git submodule foreach --recursive 'git fetch --tags'
但正如我在“Does “git fetch --tags
” include “git fetch
”?”中解释的那样,那 不会 获取 只是 标签,而且 所有 相关提交(自 git 1.9.0,2014 年 2 月起)
相反,您可以进入子模块,并获取深度为 1 的标签内容:
git fetch --depth=1 origin refs/tags/<tag>:refs/tags/<tag>
git checkout <tag>