首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有选择地插入/更新git子模块

有选择地插入/更新git子模块
EN

Stack Overflow用户
提问于 2015-06-26 14:40:49
回答 1查看 705关注 0票数 0

我正在开发一个RESTful框架,它可以选择构建HTTP和/或HTTPS支持。当前的HTTP构建说明如下:

代码语言:javascript
复制
git clone --recursive https://github.com/corvusoft/restbed.git
mkdir restbed/build
cd restbed/build
cmake [-DBUILD_TESTS=YES] [-DBUILD_EXAMPLES=YES] [-DCMAKE_INSTALL_PREFIX=/output-directory] ..
make install
make test

我热衷于提交最新的HTTPS特性,但我希望能够在克隆期间选择特定的依赖项(git子模块),以帮助减少网络流量。

HTTP和HTTPS示例提取所有依赖项。

代码语言:javascript
复制
git clone --recursive  https://github.com/corvusoft/restbed.git
mkdir restbed/build
cd restbed/build
cmake [-DBUILD_TESTS=YES] [-DBUILD_EXAMPLES=YES] [-DCMAKE_INSTALL_PREFIX=/output-directory] ..
make install
make test

仅以HTTP为例提取特定的依赖项。

代码语言:javascript
复制
git clone --recursive="asio, framework" https://github.com/corvusoft/restbed.git
mkdir restbed/build
cd restbed/build
cmake -DBUILD_SSL=NO [-DBUILD_TESTS=YES] [-DBUILD_EXAMPLES=YES] [-DCMAKE_INSTALL_PREFIX=/output-directory] ..
make install
make test

git -递归似乎缺乏此功能。

-递归--递归--克隆创建后的子模块,使用其默认设置初始化所有子模块。这相当于在克隆完成后立即运行git子模块更新--init --递归。如果克隆的存储库没有工作树/签出(即,如果给出

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-26 14:52:33

如文档所述,使用--recursive选项和git clone将初始化所有子模块。您可以运行以下代码,它直接使用git submodule来初始化您所追求的用于HTTP的子模块:

代码语言:javascript
复制
git clone https://github.com/corvusoft/restbed.git
git submodule update --init --recursive dependency/asio
git submodule update --init --recursive dependency/framework    
mkdir restbed/build
cd restbed/build
cmake -DBUILD_SSL=NO [-DBUILD_TESTS=YES] [-DBUILD_EXAMPLES=YES] [-DCMAKE_INSTALL_PREFIX=/output-directory] ..
make install
make test
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31076012

复制
相关文章

相似问题

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