首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从更新中排除特定的git子模块?

如何从更新中排除特定的git子模块?
EN

Stack Overflow用户
提问于 2018-09-05 15:29:30
回答 1查看 9.4K关注 0票数 12

我在.gitmodules中有一个子模块列表。我只想下载一个特定的子模块,即grpc,如果配置文件中有一些选项被启用为true的话。因为我的构建有时不需要grpc。所有子模块都在第三方目录下。所以.gitmodules是这样的:

代码语言:javascript
复制
[submodule "third-party/libzip"]
        path = third-party/libzip
        url = https://github.com/nih-at/libzip.git
[submodule "third-party/sqlite"]
    path = third-party/sqlite
    url = https://github.com/mackyle/sqlite.git
    branch = sqlite-3.23.1
[submodule "third-party/grpc"]
    path = third-party/grpc
    url = https://github.com/grpc/grpc.git

还有一种方法可以在执行命令时专门排除子模块:

代码语言:javascript
复制
git submodule update --init --recursive

我想在子模块更新时排除grpc和子模块。类似于:

代码语言:javascript
复制
git submodule update --init --recursive "exclude third-party/grpc"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-05 20:30:07

来自git帮助:

更新

通过克隆缺少的子模块并更新子模块的工作树,更新注册的子模块以匹配超级项目的期望。根据命令行选项和submodule..update配置变量的值,可以通过多种方式完成“更新”。支持的更新过程包括:

..。

..。

如果未提供任何选项,并且 submodule.<name>.update 设置为none,则不更新子模块。

因此,在配置文件中设置update = none。您还可以显式地在--之后指定路径,以便仅更新特定子模块。@PrashantShubham指出,要在不更改配置文件的情况下执行此操作,您可以:

代码语言:javascript
复制
git -c submodule."third-party/grpc".update=none submodule update --init --recursive
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52179463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档