git submodule add 也支持 sparse checkout吗?

问题描述

目前git已经支持了部分代码的克隆,具体做法如下:

# 添加远端引用
git remote add -f origin <remote_url>
# 激活 spare checkout
git config core.sparsecheckout true
# 详细指定要检出的子目录(或文件)
echo "subdir1" >> .git/info/sparse-checkout
# 同步版本到本地
git pull origin  master 

这样就只会把远端库中的/subdir1同步到本地。

现在我的问题是:git submodule add,是否也同样支持sparse checkout吗?

查阅了帮助,似乎没有看到相关的内容。

期望的效果

典型的场景就是,有个python公共库,库中有多个目录,比如:

common-lib/          # 公共库,由 git://reposity/common-lib.git 管理版本
    doc/             # 相关文档
    src/             # 代码
        common/      # 公共库源代码
        test-common/ # 公共库测试代码

那么使用这个库的某个工程yasi-project,期望有如下结构:

yasi-project/        # 工程yasi,由 git://reposity/yasi-project.git 管理版本
    doc/             # 工程文档
    src/             # 代码
        common/      # 引用公共库 -> common-lib/src/common
        yasi/        # 工程的代码
        test-yasi/   # 工程的测试代码

以上结构,git是否能支持呢?

阅读 4.2k
1 个回答

submodule 添加了子仓库之后 你再到 .git/modules/xxx 下面会看到子仓库的配置

打开 sparsecheckout
添加 sparse-checkout 文件即可, 是一样的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏