如何克隆多个特定子模块?

2024-03-05

我需要编写一个脚本来克隆升压库 https://www.boost.org/,但不幸的是,存储库非常大,之后我只需要使用一些子模块。我想将它们存储在一个字符串变量中,如下所示

MODULES="tools/build libs/system"

然后将变量传递给一个命令,如下所示

git clone --recurse-submodules=${MODULES} https://github.com/boostorg/boost.git

问题是,将多个参数传递给--recurse-submodules,所有这些都被忽略。

我看了一下如何只更新特定的 git 子模块? https://stackoverflow.com/questions/16728866/how-to-only-update-specific-git-submodules/31471460,但答案仅涵盖一个子模块的克隆或重复--recurse-submodules多次,我不喜欢这样做,因为我想让脚本为任意数量的子模块做好准备。

有什么办法可以用 Git 来实现这一点吗?


您的想法是正确的,但不要使用变量,而是使用数组并以这种方式构建子模块。

modules=()
for mod in "tools/build" "libs/system"; do
    modules+=( --recurse-submodules="$mod" )
done

In the for循环添加所有模块名称,以便每次迭代在其之前添加所需的字段并生成完整的子模块数组。现在通过它git clone作为引用数组扩展modules

git clone "${modules[@]}" https://github.com/boostorg/boost.git

The "${modules[@]}"扩展为在上述步骤中生成的数组,每个生成的条目均由空格字符分隔。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何克隆多个特定子模块? 的相关文章

  • 如何在 sed 中转义方括号[重复]

    这个问题在这里已经有答案了 我正在使用 grep 和 sed 解析遗留的 C 代码 当尝试替换方括号时 发生了一些奇怪的事情 以下代码替换方括号效果很好 echo xyx xzx xyx sed s g 结果是 xyx xzx xyx 当我
  • powershell stdin 管道和重定向

    你好 我一直在制作一个小的跨平台脚 本 我可以将其卷曲并通过管道传输到bash和Powershell中 基本思想是服务器向解释器发送一个命令 然后它给出一个命令将所有输出重定向到标准输出 bash 中的一个例子是 some commands
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u
  • 使用正确的头打印文件名

    我想获取当前目录中的文件名 使得文件的第一行等于myWord 我想结合find type f命令与 exec选项与head 1 filename但无济于事 有没有一些聪明的 单行的解决方案来解决这个问题 您可以使用find with awk
  • 如何将更改移出主分支

    基本问题 但这一直发生在我身上 进行更改working branch 切换到master git merge working branch git push cap deploy 到舞台 泡一杯新茶 然后我回来思考其他事情并开始做出一些改变
  • 为什么我无法创建/签出该分支?

    我正在尝试创建本地 Git 分支 但它不起作用 以下是我正在使用的命令 tablet edit11 git checkout b edit 11 Switched to a new branch edit 11 tablet edit11
  • git Push over sshfs 失败,并显示“关闭 sha1 文件时出错:错误的文件描述符”

    我们使用 sshfs 通过 SSH 安装文件系统 并将其用作 git 存储库协作的远程存储 Mac OSX 10 6 6 到 RHEL 3 服务器 SSHFS 版本 2 2 MacFUSE SSHFS 2 2 0 MacFUSE 库版本 F
  • 自动将所有 GitHub 存储库镜像到 gitlab

    对于 GitLab 必须手动为每个存储库设置拉 推镜像 我想知道那里有any way可以自动将所有 Github 存储库同步到 GitLab 这样 当您在 GitHub 中创建新的存储库时 GitLab 中的存储库将自动创建 并充当拉取镜像
  • Git:发送电子邮件而不提交

    我有一个项目 我做了更改 并想使用 git send email 功能将它们发送给另一个用户 我发现它可以通过发送补丁来工作 由git format patch每次提交 是否可以只发送diff的 我不想先提交 然后发送补丁 是否有gitfo
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • bash 中 :-(冒号破折号)的用法

    bash中这种风格的含义是什么 PUBLIC INTERFACE eth0 目的是什么 If PUBLIC INTERFACE存在且不为null 则返回其值 否则返回 eth0 实际上有一些记录在bash 手册页 http linux di
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 格里特:! [远程拒绝] HEAD -> refs/publish/master (没有新的更改)

    我做了一些更改 提交了它们并将分支推送到 Gerrit git push gerrit 现在我的更改没有出现在 Gerrit 中 我认为这是因为我手动推送更改而不是使用git 审查 https github com openstack in
  • 在 Windows 7 上的 Sourcetree 中比较 Word docx 文件

    我一直在尝试获取在 Windows 7 上的 Sourcetree 中工作的 Word docx 文件的文本差异 我已按照此处的说明进行操作将 Microsoft Word 与 git 结合使用 http blog martinfenner
  • 在 Azure DevOps 项目之间移动存储库时保留拉取请求

    我在同一帐户内有两个 Azure DevOps 项目 我想将存储库从一个项目移动到另一个项目 这一页探索如何在具有完全保真历史记录的团队项目之间移动 git 存储库 https learn microsoft com en us azure
  • 使用终端时 Git 推送在总计后卡住了?

    我尝试将一些文件推送到Github 总大小只有22 2M 我不知道为什么它在总行之后卡住了 我读过推送到 Github 时 Git 推送挂起 https stackoverflow com questions 16906161 git pu
  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My
  • git 日志历史记录图,每次提交一行,彩色,带有日期

    我需要的格式如下 git log decorate graph oneline date order 但我也需要它 包含日期 短 具有相同的颜色 I tried git log decorate graph oneline date ord
  • 匹配模式后添加行[重复]

    这个问题在这里已经有答案了 我有一个文件说test具有以下值 Linux Solaris Fedora Ubuntu AIX HPUX 如何在匹配 AIX 的行后面添加一行系统主机名 如果我做 echo hostname gt gt tes
  • 如何判断 Bash 中是否存在文件?

    这会检查文件是否存在 bin bash FILE 1 if f FILE then echo File FILE exists else echo File FILE does not exist fi 我如何只检查文件是否存在not ex

随机推荐

  • 取消从应用程序调用 Web 服务

    我有一个 winform 应用程序 有两个按钮 GetData 和 Close 在 GetData 上 我从 Web 服务检索一些数据 而 Close 只是关闭对话框 我在一个单独的线程上调用网络服务 该线程是类实例变量 如果从 Web 服
  • 使用正则表达式进行 C Sharp 文件夹搜索

    从顶级目录获取与特定正则表达式匹配的文件夹列表的最有效方法是什么 我目前只是递归地迭代子文件夹以查看它们是否与正则表达式匹配 如果匹配 我将使用目录路径获取文件名 目前 由于此目录中的文件夹数量较多 使用当前方法进行此搜索大约需要 50 分
  • 如何在反应路由中设置延迟功能?

    如何在 React js 上设置延迟函数 有没有什么方法可以在反应路由中添加或删除类 以便页面可以转换 添加 删除或切换类每次都应该有效 是否可以使用延迟功能添加 删除或切换路由类 或者我可以使用第三方库吗 import React fro
  • 在 Android 中获取 Google 地图时出错

    我正在开发一个 Android 应用程序 该应用程序需要 Google 地图 为此 我在以下链接中使用相同的示例 谷歌地图的链接 http www androidhive info 2013 08 android working with
  • Android-decodeBase64 导致应用程序崩溃

    我必须加密一个字符串 但应用程序无法达到加密方法 它在加载时崩溃 我正在使用 Apache Commons Codec 库 private EditText txtPass EditText findViewById R id txtPas
  • BxSlider 将最后一张幻灯片显示为第一张幻灯片

    我创建了 4 个滑块 最初 所有 4 个滑块都是隐藏的 显示 无 因此我使用此代码在单击其各自类别时显示相关滑块 滑块配置 touchEnabled true hideControlOnEnd true preloadImages all
  • 调用(委托)

    谁能解释一下上面写的这个声明link http msdn microsoft com en us library system windows forms control invoke aspx Invoke Delegate 在拥有该委托
  • 区分不可变对象和可变对象的 const 引用

    C 中是否有任何公认的方法来区分对不可变对象和可变对象的 const 引用 e g class DataBuffer class Params class C public Given references must be valid du
  • HERE 地图 JS API 3.1 - Angular 中样式组“非碰撞”错误

    在使用卫星基础层加载 HERE 地图时 有时会出现此错误 Tangram error Error for style group non collision for tile 13 16 15542 12554 15 Cannot read
  • 如何使 sql 作业步骤退出报告失败

    我有一个sql作业步骤 像这样 Declare Result varchar 255 exec myprocedure Result Result output 我想做的事 如果 Result Error 则将作业标记为失败 我该如何实现这
  • 条形图/折线图 - 仅显示最后一个数据点的标签

    我无法获得条形图或折线图来显示 X 轴上的所有标签 正如您在提供的打印屏幕中看到的 只有最新的数据点显示其标签 这是使用场景生成器时的情况 我是否必须有一个带有用于 CategoriesAxis 的字符串的 ObservableList 我
  • PyQt 从 GUI 获取值

    我使用构建了一个用户界面QtDesigner然后转换 ui to py 用户界面有不同comboBox and textBox单击 运行 按钮后我想从中读取值 运行函数 然后在计算完成后填充用户界面的其他文本框 但是当我改变的值comboB
  • 如何解决“重定向已被 CORS 策略阻止:没有“Access-Control-Allow-Origin”标头”?

    我正在开发一个应用程序 使用Vue js 根据我的设置 当设置更改时 我需要将变量传递给我的 URL get http 172 16 1 157 8002 firstcolumn c1v c1b function data some cod
  • STS 报告的动态 Web 模块版本错误

    我使用 Spring 3 0 6 和 Maven 3 0 3 在 STS 2 9 2 中创建了一个 Web 项目 我创建了一些页面和代码 没有任何错误 我已在项目的 pom xml 中将 Spring 库版本从 3 0 6 升级到 3 1
  • 单击更改 div 的颜色和数字

    我想在单击 div 时更改 html 元素的颜色和数量 例如 当您单击up arrow数字从 4 变为 5 颜色也变化 也发生变化 initial state 4 upvoted 5 down voted 3 这是我到目前为止所拥有的 我知
  • PHP导出rtf包含css文件

    我想用php导出rtf文件 但不知道为什么涉及到css文件 当我打开一个带有扩展名的文件时 Rtf 与 Microsoft Office 2007 它说 加载过程中以下区域出现了问题 丢失文件 C Users 用户电脑 Downloads
  • sys.path 包括 py.test rootdir 以使测试相对于项目根目录导入

    我在 pytest 中遇到问题 未将我的项目 rootdir 包含在 sys path 列表中 相反 它包含默认情况下测试所在的目录 这是我的项目结构 proj setup py mypackage init py a py tests t
  • 计算机科学理论中该问题描述的正确问题名称/算法是什么?

    问题是我有 X 个不同权重值的物品必须放入 Y 个容器中 容器具有不同的尺寸 例如容纳不同的最大重量 每个集装箱的总装载量必须大致等于其他集装箱的装载量 但集装箱不需要装满或最小化 必须使用所有容器 这让我想起了 背包 问题 但是我有多个不
  • Serde 内部标记带有公共字段的枚举

    我的 JSON 大致是这样的 commonA 1 commonB 2 type Foo fooSpecificA 3 fooSpecificB 4 commonA 5 commonB 6 type Bar barSpecificA 7 ba
  • 如何克隆多个特定子模块?

    我需要编写一个脚本来克隆升压库 https www boost org 但不幸的是 存储库非常大 之后我只需要使用一些子模块 我想将它们存储在一个字符串变量中 如下所示 MODULES tools build libs system 然后将